Function at 0x405d60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xf4
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push str.CCollection
mov byte [esp + 0x3b], 0x27
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esp + 0x68], eax
mov edi, dword [eax]
mov dword [esp + 0x88], edi
call fcn.0040d290
mov ecx, dword [0x466e94]
add esp, 4
mov ecx, dword [ecx + 0x74]
push eax
call fcn.00415c60
lea ecx, [esp + 0xb8]
mov dword [esp + 0x5c], eax
call fcn.00407c20
lea ecx, [esp + 0x6c]
call fcn.00407c20
lea ecx, [esp + 0x98]
call fcn.00407c20
lea ecx, [esp + 0x78]
call fcn.00407c20
lea ecx, [esp + 0x4c]
call fcn.00407c20
lea ecx, [esp + 0xe0]
call fcn.00407c20
lea ecx, [esp + 0xd4]
call fcn.00407c20
lea ecx, [esp + 0xec]
call fcn.00407c20
mov eax, dword [ebp + 0xc]
xor bl, bl
mov dword [esp + 0xac], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov eax, dword [eax + 0x30]
mov dword [esp + 0xa4], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x30], eax
call fcn.00403f30
push 4
mov dword [esp + 0x5c], eax
call fcn.00427927
add esp, 4
test eax, eax
je 0x405e71
mov ecx, eax
call fcn.00407060
mov dword [esp + 0x88], eax
jmp 0x405e7c
mov dword [esp + 0x88], 0
cmp dword [esi + 0x10], 0
je 0x405ebb
push 0x138
call fcn.00427927
add esp, 4
test eax, eax
je 0x405eac
push dword [esp + 0x30]
mov ecx, eax
push dword [esi + 0x10]
call fcn.0041e590
mov ecx, eax
mov dword [esp + 0xac], eax
jmp 0x405eb5
xor ecx, ecx
mov dword [esp + 0xac], ecx
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x10], eax
cmp dword [esi + 0x18], 0
je 0x405efa
push 0x138
call fcn.00427927
add esp, 4
test eax, eax
je 0x405eeb
push dword [esp + 0x30]
mov ecx, eax
push dword [esi + 0x18]
call fcn.0041e590
mov ecx, eax
mov dword [esp + 0x8c], eax
jmp 0x405ef4
xor ecx, ecx
mov dword [esp + 0x8c], ecx
mov eax, dword [esi + 0x1c]
mov dword [ecx + 0x10], eax
cmp dword [esi + 8], 0
je 0x405f39
push 0x138
call fcn.00427927
add esp, 4
test eax, eax
je 0x405f2a
push dword [esp + 0x30]
mov ecx, eax
push dword [esi + 8]
call fcn.0041e590
mov ecx, eax
mov dword [esp + 0x90], eax
jmp 0x405f33
xor ecx, ecx
mov dword [esp + 0x90], ecx
mov eax, dword [esi + 0xc]
mov dword [ecx + 0x10], eax
cmp dword [esi + 0x20], 0
je 0x405f78
push 0x138
call fcn.00427927
add esp, 4
test eax, eax
je 0x405f69
push dword [esp + 0x30]
mov ecx, eax
push dword [esi + 0x20]
call fcn.0041e590
mov ecx, eax
mov dword [esp + 0xa4], eax
jmp 0x405f72
xor ecx, ecx
mov dword [esp + 0xa4], ecx
mov eax, dword [esi + 0x24]
mov dword [ecx + 0x10], eax
cmp dword [esi + 0x28], 0
je 0x405fc2
push 0x138
call fcn.00427927
add esp, 4
test eax, eax
je 0x405fa5
push dword [esp + 0x30]
mov ecx, eax
push dword [esi + 0x28]
call fcn.0041e590
mov ecx, eax
mov dword [esp + 0x68], eax
jmp 0x405fab
xor ecx, ecx
mov dword [esp + 0x68], ecx
mov eax, dword [esi + 0x2c]
push 0x1c
mov dword [ecx + 0x10], eax
call fcn.00427927
add esp, 4
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x64]
xor esi, esi
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x406c64
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xcc], eax
nop
test bl, bl
je 0x406071
mov edx, esi
cmp esi, ecx
jge 0x406c54
nop
cmp word [edi + esi*2], 0x3c
je 0x406011
inc esi
cmp esi, ecx
jl 0x406000
jmp 0x406c54
lea eax, [edi + edx*2]
xor bl, bl
mov dword [esp + 0xb8], eax
mov eax, esi
sub eax, edx
mov dword [esp + 0xbc], eax
xor eax, eax
mov word [edi + esi*2], ax
mov eax, dword [ebp + 8]
cmp byte [eax + 0x33], bl
jne 0x40607c
mov ecx, dword [esp + 0x90]
test ecx, ecx
je 0x40607c
cmp dword [esp + 0xbc], 0
je 0x40607c
lea eax, [esp + 0xb8]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [ecx + 0x38], eax
mov eax, dword [ecx + 0x2c]
push dword [eax + 0x20]
push ecx
mov ecx, dword [0x466e94]
call fcn.004185e0
jmp 0x40607c
cmp word [edi + esi*2], 0x3c
jne 0x406c54
cmp word [edi + esi*2 + 2], 0x21
lea ecx, [esi + 1]
jne 0x4060cf
inc ecx
cmp word [edi + ecx*2], 0x2d
jne 0x4060cf
inc ecx
cmp word [edi + ecx*2], 0x2d
jne 0x4060cf
mov eax, dword [esp + 0x64]
mov esi, ecx
mov eax, dword [eax + 4]
cmp ecx, eax
jge 0x406c54
cmp word [edi + esi*2], 0x2d
jne 0x4060bf
inc esi
cmp word [edi + esi*2], 0x2d
jne 0x4060bf
inc esi
cmp word [edi + esi*2], 0x3e
je 0x4060c9
inc esi
cmp esi, eax
jl 0x4060a8
jmp 0x406c54
inc esi
jmp 0x406c54
mov eax, dword [esp + 0x64]
mov esi, ecx
mov dword [esp + 0x40], esi
mov edx, dword [eax + 4]
cmp ecx, edx
jge 0x406c54
movzx eax, word [edi + esi*2]
mov esi, eax
cmp eax, 0x3e
je 0x40610b
cmp eax, 0x20
je 0x40610b
cmp eax, 0xd
je 0x40610b
mov esi, dword [esp + 0x40]
inc esi
mov dword [esp + 0x40], esi
cmp esi, edx
jl 0x4060e4
jmp 0x406c54
cmp word [edi + ecx*2], 0x2f
lea eax, [edi + ecx*2]
jne 0x4061dd
mov esi, dword [esp + 0x40]
inc ecx
push dword [ebp + 0xc]
lea eax, [edi + ecx*2]
mov dword [esp + 0x70], eax
mov eax, esi
sub eax, ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x74], eax
xor eax, eax
mov word [edi + esi*2], ax
mov eax, dword [ecx + 4]
dec eax
push eax
push ecx
call fcn.00404070
mov ecx, dword [esp + 0x94]
add esp, 8
push eax
call fcn.00406ff0
mov eax, dword [ebp + 8]
cmp byte [eax + 0x33], 0
je 0x40618d
mov ecx, dword [esp + 0x90]
test ecx, ecx
je 0x40618d
lea eax, [esp + 0xb8]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [ecx + 0x38], eax
mov eax, dword [ecx + 0x2c]
push dword [eax + 0x20]
push ecx
mov ecx, dword [0x466e94]
call fcn.004185e0
mov ecx, dword [esp + 0x8c]
test ecx, ecx
je 0x4061b9
lea eax, [esp + 0x6c]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [ecx + 0x38], eax
mov eax, dword [ecx + 0x2c]
push dword [eax + 0x20]
push ecx
mov ecx, dword [0x466e94]
call fcn.004185e0
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx + 4]
dec eax
push eax
push ecx
call fcn.00404120
mov eax, dword [ebp + 8]
add esp, 8
cmp byte [eax + 0x33], 0
jne 0x406c54
jmp 0x406c52
xor bl, bl
cmp esi, 0x20
je 0x4061e9
cmp esi, 0xd
jne 0x4061eb
mov bl, 1
mov esi, dword [esp + 0x40]
mov edx, dword [ebp + 8]
mov dword [esp + 0x6c], eax
mov eax, esi
sub eax, ecx
mov dword [esp + 0x70], eax
xor eax, eax
mov word [edi + esi*2], ax
cmp byte [edx + 0x30], al
je 0x4063eb
cmp byte [edx + 0x31], al
je 0x40638c
mov eax, dword [esp + 0x58]
mov esi, dword [eax + 4]
test esi, esi
je 0x406381
mov eax, dword [eax]
mov edi, dword [edx + 0x38]
mov esi, dword [eax + esi*4 - 4]
lea eax, [esp + 0x6c]
push eax
test edi, edi
je 0x406254
push edi
call fcn.00404a90
add esp, 8
test eax, eax
js 0x406316
push eax
push edi
call fcn.00404830
add esp, 8
jmp 0x40626b
call fcn.0040d2d0
mov ecx, dword [0x466e94]
add esp, 4
mov ecx, dword [ecx + 0x74]
push eax
call fcn.00415c60
test eax, eax
je 0x406316
push dword [ebp + 0xc]
mov ecx, dword [0x466e94]
push eax
call fcn.0041a130
mov ecx, dword [esp + 0x30]
call fcn.0041d820
mov edi, dword [ebp + 8]
push dword [esp + 0x5c]
mov dword [edi + 0x40], eax
mov ecx, dword [esi]
call fcn.00415870
mov ecx, dword [edi + 0x40]
push ecx
test al, al
je 0x4062f1
push dword [esi + 4]
call fcn.00403ff0
add esp, 8
cmp byte [edi + 0x32], 0
je 0x406377
push dword [edi + 0x40]
mov ecx, dword [esp + 0x34]
call fcn.0041d4d0
push dword [ebp + 0xc]
mov ecx, dword [0x466e94]
push esi
push 0x6682ca50
call fcn.00419960
mov edx, dword [ebp + 8]
mov edi, dword [esp + 0x84]
mov ecx, dword [edx + 0x40]
push ecx
mov eax, dword [ecx]
mov dword [edx + 0x3c], eax
jmp 0x4063db
mov ecx, dword [esp + 0x8c]
push esi
call fcn.00406fc0
mov edx, dword [ebp + 8]
mov edi, dword [esp + 0x84]
mov ecx, dword [edx + 0x40]
push ecx
mov eax, dword [ecx]
mov dword [edx + 0x3c], eax
jmp 0x4063db
lea eax, [esp + 0x6c]
push eax
call fcn.00409c50
mov ecx, dword [esi]
add esp, 4
mov edi, eax
push edi
call fcn.00415670
test eax, eax
je 0x406339
mov ecx, dword [eax + 0x1c]
mov eax, dword [esi + ecx]
jmp 0x406368
mov ecx, dword [esi]
push edi
call fcn.00415690
test eax, eax
je 0x406e6b
push dword [ebp + 0xc]
mov ecx, dword [0x466e94]
lea eax, [esp + 0x70]
push eax
push dword [esi]
push esi
call fcn.00416d60
mov ecx, dword [esp + 0x30]
call fcn.0041d820
mov ecx, dword [ebp + 8]
push edi
mov dword [ecx + 0x40], eax
call fcn.0042f6d1
add esp, 4
mov edi, dword [esp + 0x84]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x40]
push ecx
mov eax, dword [ecx]
mov dword [edx + 0x3c], eax
jmp 0x4063db
mov esi, dword [edx + 0x38]
lea eax, [esp + 0x6c]
push eax
push esi
call fcn.00404a90
add esp, 8
test eax, eax
js 0x4063e7
push eax
push esi
call fcn.00404830
mov esi, dword [ebp + 8]
add esp, 8
mov dword [esi + 0x3c], eax
cmp byte [eax + 4], 0
mov ecx, dword [0x466e94]
je 0x4063c5
push eax
call fcn.0041a2f0
jmp 0x4063d7
push dword [ebp + 0xc]
push eax
call fcn.0041a130
mov ecx, dword [esp + 0x30]
call fcn.0041d820
mov dword [esi + 0x40], eax
push eax
push dword [esp + 0x5c]
call fcn.00403ff0
add esp, 8
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0xac]
test ecx, ecx
je 0x406417
lea eax, [esp + 0x6c]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [ecx + 0x38], eax
mov eax, dword [ecx + 0x2c]
push dword [eax + 0x20]
push ecx
mov ecx, dword [0x466e94]
call fcn.004185e0
test bl, bl
je 0x406c4b
mov ecx, dword [esp + 0x64]
inc esi
xor bl, bl
mov dword [esp + 0x40], esi
xor al, al
mov byte [esp + 0x3f], bl
mov edx, esi
mov byte [esp + 0x36], al
mov bh, 1
mov dword [esp + 0x60], edx
cmp esi, dword [ecx + 4]
jge 0x406c4b
nop word [eax + eax]
movzx ecx, word [edi + esi*2]
test al, al
jne 0x40657e
mov eax, ecx
cmp ecx, 0x3e
jne 0x4064fb
test bl, bl
je 0x406c4b
mov byte [esp + 0x3f], 1
lea eax, [edi + edx*2]
mov dword [esp + 0x4c], eax
mov eax, esi
sub eax, edx
mov dword [esp + 0x50], eax
xor eax, eax
mov word [edi + esi*2], ax
mov edi, dword [ebp + 8]
cmp byte [edi + 0x30], al
je 0x406b82
cmp dword [edi + 0x3c], eax
je 0x406b82
lea eax, [esp + 0x98]
push eax
call fcn.00409c50
mov ecx, dword [edi + 0x3c]
add esp, 4
mov ebx, eax
mov dword [esp + 0xc4], ebx
push ebx
call fcn.00415670
mov edi, eax
mov edx, 0x44e640
mov dword [esp + 0xa8], edi
mov ecx, ebx
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x406665
test bl, bl
je 0x4064f4
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x406665
add ecx, 2
add edx, 2
test al, al
jne 0x4064d0
xor eax, eax
jmp 0x40666a
cmp eax, 0x3d
jne 0x406528
test bl, bl
je 0x406521
lea eax, [edi + edx*2]
mov dword [esp + 0x98], eax
mov eax, esi
sub eax, edx
mov dword [esp + 0x9c], eax
xor eax, eax
mov word [edi + esi*2], ax
xor bl, bl
xor bh, bh
jmp 0x406bd5
cmp eax, 0x20
je 0x406633
test bl, bl
jne 0x406bd5
cmp eax, 0x2f
je 0x406bf7
mov dword [esp + 0x60], esi
cmp eax, 0x27
jne 0x406562
lea edx, [esi + 1]
mov byte [esp + 0x37], al
mov dword [esp + 0x60], edx
mov bl, 1
mov byte [esp + 0x36], 1
jmp 0x406bd5
cmp eax, 0x22
jne 0x406577
lea edx, [esi + 1]
mov byte [esp + 0x37], al
mov dword [esp + 0x60], edx
mov byte [esp + 0x36], 1
mov bl, 1
jmp 0x406bd5
cmp ecx, 0x26
jne 0x406620
mov ecx, dword [esp + 0x84]
lea edi, [esi + 1]
cmp word [ecx + edi*2], 0x71
jne 0x406bd5
cmp word [ecx + edi*2 + 2], 0x75
jne 0x406bd5
cmp word [ecx + edi*2 + 4], 0x6f
jne 0x406bd5
cmp word [ecx + edi*2 + 6], 0x74
jne 0x406bd5
add edi, 4
cmp word [ecx + edi*2], 0x3b
jne 0x406bd5
sub esi, edx
mov dword [esp + 0x40], esi
je 0x40660c
mov eax, dword [esp + 0x40]
mov esi, edi
sub esi, eax
add eax, eax
push eax
lea eax, [ecx + edx*2]
push eax
lea eax, [ecx + esi*2]
push eax
call fcn.00428c00
mov ecx, dword [esp + 0x90]
mov eax, 0x22
mov dword [esp + 0x6c], esi
add esp, 0xc
mov esi, edi
mov word [ecx + edi*2], ax
jmp 0x406bd5
mov eax, 0x22
mov dword [esp + 0x60], edi
mov word [ecx + edi*2], ax
mov esi, edi
jmp 0x406bd5
movsx eax, byte [esp + 0x37]
cmp ecx, eax
jne 0x406bd5
xor al, al
mov byte [esp + 0x36], al
test bl, bl
je 0x406bd5
test bh, bh
je 0x406474
lea eax, [edi + edx*2]
mov dword [esp + 0x98], eax
mov eax, esi
sub eax, edx
mov dword [esp + 0x9c], eax
xor eax, eax
mov word [edi + esi*2], ax
xor bh, bh
jmp 0x406bd3
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40667c
push 0x44e644
lea ecx, [esp + 0x7c]
call fcn.00407e50
xor bl, bl
test edi, edi
jne 0x4066a5
mov eax, dword [ebp + 8]
mov bl, 1
push dword [esp + 0xc4]
mov ecx, dword [eax + 0x3c]
call fcn.00415690
mov dword [esp + 0xa8], eax
test eax, eax
je 0x406ed6
mov edi, dword [esp + 0x4c]
cmp word [edi], 0x7b
jne 0x40681e
mov eax, dword [esp + 0x50]
cmp word [edi + eax*2 - 2], 0x7d
jne 0x40681e
cmp dword [esp + 0x68], 0
je 0x406b73
mov edi, dword [ebp + 8]
lea eax, [esp + 0x98]
mov dword [esp + 0x38], eax
lea ecx, [esp + 0x38]
mov eax, dword [esp + 0x94]
mov dword [esp + 0xc8], 0
mov dword [eax], ecx
cmp word [edi + 0x34], 0
je 0x406774
push 0
lea ecx, [esp + 0xd8]
call fcn.00407f50
push 0
lea ecx, [esp + 0xf0]
call fcn.00407f50
mov esi, dword [esp + 0x4c]
lea eax, [esp + 0xd4]
push eax
push 0x20
lea eax, [esi + 2]
push eax
call fcn.00407370
lea eax, [esp + 0xf8]
add esi, 4
push eax
mov eax, dword [esp + 0xe8]
push 0x7d
lea eax, [esi + eax*2]
push eax
call fcn.00407370
mov esi, dword [esp + 0x58]
lea eax, [esp + 0x104]
mov dword [esp + 0x110], eax
lea ecx, [esp + 0xec]
add esp, 0x18
lea eax, [esp + 0xf8]
jmp 0x40677a
xor eax, eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0x94]
mov dword [ecx + 8], eax
lea eax, [esp + 0xb4]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0x40]
mov edi, ecx
lea ecx, [esp + 0xe0]
mov dword [edi + 0xc], eax
call fcn.00407f20
mov ecx, dword [esp + 0x68]
lea eax, [esp + 0xe0]
mov dword [esp + 0xc8], eax
lea eax, [esp + 0xc8]
mov dword [edi + 0x14], eax
mov dword [edi + 0x18], 0
call fcn.0041e710
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx + 0x2c]
mov dword [ecx + 0x38], edi
push dword [eax + 0x20]
push ecx
mov ecx, dword [0x466e94]
call fcn.004185e0
cmp dword [edi + 0x18], 0
jne 0x406b73
mov eax, dword [esp + 0xe4]
test eax, eax
je 0x40681a
mov edi, dword [esp + 0xe0]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], eax
jmp 0x40681e
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0xa8]
mov al, byte [ecx + 1]
test al, al
jne 0x406a8c
mov al, byte [ecx + 2]
cmp al, 0x73
jne 0x40684a
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x4c]
push eax
call fcn.0041d3b0
jmp 0x406b3a
cmp al, 0x69
jne 0x406885
movzx eax, word [edi]
cmp eax, 0x23
jne 0x406865
lea eax, [esp + 0x4c]
push eax
call fcn.00405d10
jmp 0x406b2d
push eax
call fcn.0042f710
add esp, 4
test eax, eax
je 0x406b24
lea eax, [esp + 0x4c]
push eax
call fcn.0040d2d0
jmp 0x406b2d
cmp al, 0x62
jne 0x40695a
mov ecx, 0x44e69c
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4068ba
test dx, dx
je 0x4068b6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4068ba
add eax, 4
add ecx, 4
test dx, dx
jne 0x406894
xor eax, eax
jmp 0x4068bf
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4068e0
mov ecx, dword [esp + 0x30]
mov byte [esp + 0xb0], 1
push dword [esp + 0xb0]
call fcn.0041d390
jmp 0x406b3a
mov ecx, str.false
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40690d
test dx, dx
je 0x406909
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40690d
add eax, 4
add ecx, 4
test dx, dx
jne 0x4068e7
xor eax, eax
jmp 0x406912
sbb eax, eax
or eax, 1
test eax, eax
jne 0x406932
mov ecx, dword [esp + 0x30]
mov byte [esp + 0xb0], al
push dword [esp + 0xb0]
call fcn.0041d390
jmp 0x406b3a
push edi
call fcn.00436e46
mov ecx, dword [esp + 0x34]
add esp, 4
test eax, eax
setne byte [esp + 0xb0]
push dword [esp + 0xb0]
call fcn.0041d390
jmp 0x406b3a
cmp al, 0x65
jne 0x406964
push edi
jmp 0x406b28
cmp al, 0x63
jne 0x40696e
push edi
jmp 0x406b28
cmp al, 0x6d
jne 0x406978
push edi
jmp 0x406b28
cmp al, 0x64
jne 0x406994
push edi
call fcn.00436dcc
push ecx
mov ecx, dword [esp + 0x38]
fstp qword [esp]
call fcn.0041d330
jmp 0x406b3a
cmp al, 0x66
jne 0x406a12
cmp word [edi], 0x61
jne 0x4069e9
mov ecx, str.auto
mov eax, edi
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4069d6
test dx, dx
je 0x4069d2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4069d6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4069b0
xor eax, eax
jmp 0x4069db
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4069e9
movsd xmm0, qword [0x44e780]
jmp 0x4069fc
push edi
call fcn.00436dcc
fstp qword [esp + 0x44]
movsd xmm0, qword [esp + 0x44]
add esp, 4
mov ecx, dword [esp + 0x30]
sub esp, 8
movsd qword [esp], xmm0
call fcn.0041d330
jmp 0x406b3a
cmp al, 0x6c
jne 0x406a2f
push edi
call fcn.00436e8a
mov ecx, dword [esp + 0x34]
add esp, 4
push edx
push eax
call fcn.0041d2a0
jmp 0x406b3a
cmp al, 0x6e
jne 0x406a39
push edi
jmp 0x406b28
cmp al, 0x74
jne 0x406b3a
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x44]
test ecx, ecx
je 0x406a67
lea eax, [esp + 0x4c]
mov dword [esp + 0xd0], ecx
mov ecx, dword [ecx]
push eax
call fcn.004156d0
mov dword [esp + 0xcc], eax
jmp 0x406a6e
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x406dca
push dword [esp + 0xd0]
mov ecx, dword [esp + 0x34]
push eax
call fcn.0041d4a0
jmp 0x406b3d
cmp al, 2
jne 0x406af2
mov edi, dword [ebp + 8]
test bl, bl
je 0x406abe
push dword [ebp + 0xc]
mov ecx, dword [0x466e94]
lea eax, [esp + 0x9c]
push eax
push dword [edi + 0x3c]
push dword [edi + 0x40]
call fcn.00416d60
mov ecx, dword [esp + 0x30]
call fcn.0041d820
jmp 0x406ac7
mov ecx, dword [ecx + 0x1c]
mov eax, dword [edi + 0x40]
mov eax, dword [ecx + eax]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x4c]
push eax
call fcn.0041d3b0
push dword [ebp + 0xc]
mov ecx, dword [0x466e94]
push dword [esp + 0x3c]
push 0xc13a2e29
call fcn.00419960
jmp 0x406b3d
cmp word [edi], 0x23
jne 0x406b04
lea eax, [esp + 0x4c]
push eax
call fcn.00405d10
jmp 0x406b2d
mov ecx, dword [ecx + 4]
lea eax, [esp + 0x40]
push eax
push edi
mov dword [esp + 0x48], 0
call fcn.004146a0
test al, al
je 0x406b24
push dword [esp + 0x40]
jmp 0x406b31
push dword [esp + 0x4c]
call fcn.00436e46
add esp, 4
push eax
mov ecx, dword [esp + 0x34]
call fcn.0041d2f0
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0xa8]
cmp byte [eax + 1], 2
je 0x406b73
mov eax, dword [edi + 0x3c]
lea edx, [esp + 0x98]
mov ecx, dword [edi + 0x40]
push dword [ebp + 0xc]
push edx
push eax
push ecx
mov ecx, dword [0x466e94]
test bl, bl
je 0x406b6e
call fcn.00416b40
jmp 0x406b73
call fcn.00417020
push dword [esp + 0xc4]
call fcn.0042f6d1
add esp, 4
mov ecx, dword [esp + 0xa4]
test ecx, ecx
je 0x406bc6
lea eax, [esp + 0x98]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [ecx + 0x38], eax
lea eax, [esp + 0x4c]
mov dword [esp + 0xb4], eax
lea eax, [esp + 0xb4]
mov dword [ecx + 0x40], eax
mov eax, dword [ecx + 0x2c]
push dword [eax + 0x20]
push ecx
mov ecx, dword [0x466e94]
call fcn.004185e0
cmp byte [esp + 0x3f], 0
jne 0x406c4b
mov bh, 1
xor bl, bl
mov eax, dword [esp + 0x64]
inc esi
mov dword [esp + 0x40], esi
cmp esi, dword [eax + 4]
jge 0x406c4b
mov edi, dword [esp + 0x84]
mov edx, dword [esp + 0x60]
mov al, byte [esp + 0x36]
jmp 0x406450
mov eax, dword [ebp + 8]
push dword [ebp + 0xc]
mov ecx, dword [esp + 0x8c]
push dword [eax + 0x40]
call fcn.00406ff0
mov ecx, dword [esp + 0x8c]
test ecx, ecx
je 0x406c38
lea eax, [esp + 0x6c]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [ecx + 0x38], eax
mov eax, dword [ecx + 0x2c]
push dword [eax + 0x20]
push ecx
mov ecx, dword [0x466e94]
call fcn.004185e0
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx + 4]
dec eax
push eax
push ecx
call fcn.00404120
add esp, 8
inc esi
mov edi, dword [esp + 0x84]
mov bl, 1
mov ecx, dword [esp + 0x64]
inc esi
mov ecx, dword [ecx + 4]
cmp esi, ecx
jl 0x405ff0
push dword [esp + 0x58]
call fcn.00403fa0
mov eax, dword [esp + 0x8c]
add esp, 4
test eax, eax
je 0x406c84
push 1
mov ecx, eax
call fcn.00407cc0
lea ecx, [esp + 0xe0]
call fcn.00407f20
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb8], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xec], 0
test eax, eax
je 0x406cf0
push 0x138
push eax
call fcn.0042795c
add esp, 8
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x406d09
push 0x138
push eax
call fcn.0042795c
add esp, 8
mov eax, dword [esp + 0x90]
test eax, eax
je 0x406d22
push 0x138
push eax
call fcn.0042795c
add esp, 8
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x406d3b
push 0x138
push eax
call fcn.0042795c
add esp, 8
mov eax, dword [esp + 0x68]
test eax, eax
je 0x406d51
push 0x138
push eax
call fcn.0042795c
add esp, 8
mov eax, dword [esp + 0x94]
test eax, eax
je 0x406d67
push 0x1c
push eax
call fcn.0042795c
add esp, 8
lea ecx, [esp + 0xec]
call fcn.00407c80
lea ecx, [esp + 0xd4]
call fcn.00407c80
lea ecx, [esp + 0xe0]
call fcn.00407c80
lea ecx, [esp + 0x4c]
call fcn.00407c80
lea ecx, [esp + 0x78]
call fcn.00407c80
lea ecx, [esp + 0x98]
call fcn.00407c80
lea ecx, [esp + 0x6c]
call fcn.00407c80
lea ecx, [esp + 0xb8]
call fcn.00407c80
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
push str.method_
lea ecx, [esp + 0x7c]
call fcn.00407e50
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x7c]
call fcn.00407dd0
push str._not_found_in_container_for_
lea ecx, [esp + 0x7c]
call fcn.00407e50
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x7c]
call fcn.00407dd0
push 0x44e698
lea ecx, [esp + 0x7c]
call fcn.00407e50
push dword [esp + 0x78]
mov dword [esp + 0xbc], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xf0], 0
call fcn.00414210
add esp, 4
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x5c]
push 0x464110
push eax
call fcn.00429554
push str.The_type_
lea ecx, [esp + 0x7c]
call fcn.00407e50
push edi
lea ecx, [esp + 0x7c]
call fcn.00407d70
push str._was_not_found_
lea ecx, [esp + 0x7c]
call fcn.00407e50
push dword [esp + 0x78]
mov dword [esp + 0xbc], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x50], 0
call fcn.00414210
add esp, 4
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x5c]
push 0x464110
push eax
call fcn.00429554
push str.attribute_
lea ecx, [esp + 0x7c]
call fcn.00407e50
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x7c]
call fcn.00407dd0
push str._not_found_in_element_
lea ecx, [esp + 0x7c]
call fcn.00407e50
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x7c]
call fcn.00407dd0
push 0x44e698
lea ecx, [esp + 0x7c]
call fcn.00407e50
push dword [esp + 0x78]
mov dword [esp + 0xbc], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x50], 0
call fcn.00414210
add esp, 4
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x5c]
push 0x464110
push eax
call fcn.00429554
int3