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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x597add
mov eax, dword fs:[0]
push eax
sub esp, 0x2dc
push ebx
push esi
push edi
mov eax, dword [0x63434c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 4], 0
cmp dword [esi + 0x9c], eax
lea edi, [esi + 0xa4]
cmove edi, eax
test edi, edi
je 0x416df6
cmp byte [edi + 0x14a], al
jne 0x416ddd
cmp byte [edi + 0x14b], al
jne 0x416ddd
cmp byte [edi + 0x14c], al
jne 0x416ddd
cmp byte [edi + 0x14e], al
je 0x416df6
mov eax, 0x80004001
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov al, byte [esi + 0x91]
mov byte [ebp - 4], 1
test al, al
je 0x416e1a
cmp byte [esi + 0x90], 0
mov byte [ebp - 0x1e], 1
jne 0x416e1e
mov byte [ebp - 0x1e], 0
mov cl, byte [esi + 0x8f]
test cl, cl
je 0x416e35
cmp byte [esi + 0x8e], 0
mov byte [ebp - 0x1f], 1
jne 0x416e39
mov byte [ebp - 0x1f], 0
mov dl, byte [esi + 0x8d]
test dl, dl
je 0x416e4e
mov ah, byte [esi + 0x8c]
mov byte [ebp - 0x20], ah
jmp 0x416e52
mov byte [ebp - 0x20], 1
mov bl, byte [esi + 0x99]
test bl, bl
je 0x416e67
mov bh, byte [esi + 0x98]
mov byte [ebp - 0x21], bh
jmp 0x416e6b
mov byte [ebp - 0x21], 1
test edi, edi
je 0x416eae
cmp dword [edi + 0x5c], 0
je 0x416eae
test al, al
jne 0x416e81
cmp dword [edi + 0x68], 0
setne byte [ebp - 0x1e]
test cl, cl
jne 0x416e90
cmp dword [edi + 0x80], 0
setne byte [ebp - 0x1f]
test dl, dl
jne 0x416e9f
cmp dword [edi + 0x98], 0
setne byte [ebp - 0x20]
test bl, bl
jne 0x416eae
cmp dword [edi + 0xc8], 0
setne byte [ebp - 0x21]
lea ecx, [ebp - 0x38]
call fcn.00435b30
mov ebx, dword [ebp + 0x14]
xor esi, esi
mov byte [ebp - 4], 2
mov dword [ebp - 0x2c], esi
cmp esi, dword [ebp + 0x10]
jae 0x417a8c
test ebx, ebx
jne 0x416f27
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 4
test esi, esi
je 0x416f03
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x416eff
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x416ee1
push dword [ebp - 0x1c]
call fcn.0055801b
add esp, 4
mov eax, 0x80004005
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx]
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0x11c]
push ecx
lea ecx, [ebp - 0x88]
push ecx
push esi
push ebx
call dword [eax + 0x14]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x416fa4
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 4
test esi, esi
je 0x416f82
lea esp, [esp]
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x416f7e
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x416f60
push dword [ebp - 0x1c]
call fcn.0055801b
mov eax, dword [ebp - 0x28]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [ebp - 0x54]
call fcn.00435b30
mov dword [ebp - 0x41], 0
mov byte [ebp - 0x3d], 0
cmp dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0x3c]
setne byte [ebp - 0x43]
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x88], 0
mov eax, dword [ebp - 0x38]
setne byte [ebp - 0x44]
mov dword [ebp - 0x78], esi
xor ecx, ecx
mov byte [ebp - 0x42], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x34], 0
mov word [eax], cx
mov edx, dword [ebp - 0x7c]
mov byte [ebp - 4], 3
cmp edx, 0xffffffff
je 0x417196
test edi, edi
je 0x417131
cmp edx, dword [edi + 0x5c]
jae 0x417131
mov esi, edx
shl esi, 4
add esi, dword [edi + 0x58]
cmp byte [ebp - 0x43], cl
jne 0x41703b
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x38]
push eax
push edx
lea ecx, [ecx + 0xa4]
call fcn.00418a10
mov edx, dword [ebp - 0x7c]
mov al, byte [esi + 0xd]
mov byte [ebp - 0x41], al
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], ecx
cmp edx, dword [edi + 0xe0]
jae 0x417064
mov eax, dword [edi + 0xdc]
cmp byte [edx + eax], 0
mov byte [ebp - 0x42], 1
jne 0x417068
mov byte [ebp - 0x42], 0
cmp byte [ebp - 0x43], 0
jne 0x4171a1
cmp edx, dword [edi + 0x68]
jae 0x417094
mov eax, dword [edi + 0x64]
cmp byte [edx + eax], 0
je 0x417094
mov eax, dword [edi + 0x70]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
mov dword [ebp - 0x70], eax
mov al, 1
mov dword [ebp - 0x74], ecx
jmp 0x4170a4
mov dword [ebp - 0x74], 0
xor al, al
mov dword [ebp - 0x70], 0
mov byte [ebp - 0x3f], al
cmp edx, dword [edi + 0x80]
jae 0x4170cf
mov eax, dword [edi + 0x7c]
cmp byte [edx + eax], 0
je 0x4170cf
mov eax, dword [edi + 0x88]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
mov dword [ebp - 0x68], eax
mov al, 1
mov dword [ebp - 0x6c], ecx
jmp 0x4170df
mov dword [ebp - 0x6c], 0
xor al, al
mov dword [ebp - 0x68], 0
mov byte [ebp - 0x3e], al
cmp edx, dword [edi + 0x98]
jae 0x417116
mov eax, dword [edi + 0x94]
cmp byte [edx + eax], 0
je 0x417116
mov eax, dword [edi + 0xa0]
mov esi, dword [ebp - 0x2c]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
mov dword [ebp - 0x60], eax
mov al, 1
mov dword [ebp - 0x64], ecx
mov byte [ebp - 0x3d], al
jmp 0x4177c1
mov esi, dword [ebp - 0x2c]
xor al, al
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov byte [ebp - 0x3d], al
jmp 0x4177c1
push dword [ebp - 0x54]
call fcn.0055801b
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 8
test esi, esi
je 0x417172
jmp 0x417150
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x41716e
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x417150
push dword [ebp - 0x1c]
call fcn.0055801b
add esp, 4
mov eax, 0x80070057
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp byte [ebp - 0x43], cl
je 0x4177c1
jmp 0x4171a4
mov esi, dword [ebp - 0x2c]
cmp byte [ebp - 0x21], 0
je 0x4172c7
xor eax, eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe0], eax
mov eax, dword [ebx]
lea ecx, [ebp - 0xe8]
push ecx
push 9
push esi
push ebx
mov byte [ebp - 4], 4
call dword [eax + 0x18]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x417244
lea ecx, [ebp - 0xe8]
call fcn.00436650
push dword [ebp - 0x54]
call fcn.0055801b
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 8
test esi, esi
je 0x417222
lea esp, [esp]
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x41721e
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x417200
push dword [ebp - 0x1c]
call fcn.0055801b
mov eax, dword [ebp - 0x28]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ax, word [ebp - 0xe8]
test ax, ax
jne 0x417255
mov byte [ebp - 0x40], al
jmp 0x4172b8
cmp ax, 0x13
je 0x4172ab
lea ecx, [ebp - 0xe8]
call fcn.00436650
push dword [ebp - 0x54]
call fcn.0055801b
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 8
test esi, esi
je 0x417172
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x4172a2
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x417284
jmp 0x417172
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x40], 1
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 3
call fcn.00436650
cmp byte [ebp - 0x1e], 0
je 0x417346
lea eax, [ebp - 0x3f]
push eax
lea eax, [ebp - 0x74]
push eax
push 0xa
push esi
push ebx
call fcn.004155f0
add esp, 0x14
mov dword [ebp - 0x28], eax
test eax, eax
je 0x417346
push dword [ebp - 0x54]
call fcn.0055801b
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 8
test esi, esi
je 0x417324
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x417320
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x417302
push dword [ebp - 0x1c]
call fcn.0055801b
mov eax, dword [ebp - 0x28]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp byte [ebp - 0x1f], 0
je 0x4173c5
lea eax, [ebp - 0x3e]
push eax
lea eax, [ebp - 0x6c]
push eax
push 0xb
push esi
push ebx
call fcn.004155f0
add esp, 0x14
mov dword [ebp - 0x28], eax
test eax, eax
je 0x4173c5
push dword [ebp - 0x54]
call fcn.0055801b
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 8
test esi, esi
je 0x4173a3
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x41739f
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x417381
push dword [ebp - 0x1c]
call fcn.0055801b
mov eax, dword [ebp - 0x28]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp byte [ebp - 0x20], 0
je 0x417444
lea eax, [ebp - 0x3d]
push eax
lea eax, [ebp - 0x64]
push eax
push 0xc
push esi
push ebx
call fcn.004155f0
add esp, 0x14
mov dword [ebp - 0x28], eax
test eax, eax
je 0x417444
push dword [ebp - 0x54]
call fcn.0055801b
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 8
test esi, esi
je 0x417422
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x41741e
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x417400
push dword [ebp - 0x1c]
call fcn.0055801b
mov eax, dword [ebp - 0x28]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
xor eax, eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf0], eax
mov eax, dword [ebx]
lea ecx, [ebp - 0xf8]
push ecx
push 3
push esi
push ebx
mov byte [ebp - 4], 5
call dword [eax + 0x18]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x4174d6
lea ecx, [ebp - 0xf8]
call fcn.00436650
push dword [ebp - 0x54]
call fcn.0055801b
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 8
test esi, esi
je 0x4174b4
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x4174b0
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x417492
push dword [ebp - 0x1c]
call fcn.0055801b
mov eax, dword [ebp - 0x28]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ax, word [ebp - 0xf8]
test ax, ax
je 0x417552
cmp ax, 8
je 0x417538
lea ecx, [ebp - 0xf8]
call fcn.00436650
push dword [ebp - 0x54]
call fcn.0055801b
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 8
test esi, esi
je 0x417172
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x41752f
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x417511
jmp 0x417172
push dword [ebp - 0xf0]
lea ecx, [ebp - 0x38]
call fcn.00435c30
lea eax, [ebp - 0x38]
push eax
call fcn.00428fc0
add esp, 4
lea ecx, [ebp - 0xf8]
call fcn.00436650
xor eax, eax
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x100], eax
mov eax, dword [ebx]
lea ecx, [ebp - 0x108]
push ecx
push 6
push esi
push ebx
mov byte [ebp - 4], 6
call dword [eax + 0x18]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x4175f4
lea ecx, [ebp - 0x108]
call fcn.00436650
push dword [ebp - 0x54]
call fcn.0055801b
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 8
test esi, esi
je 0x4175d2
jmp 0x4175b0
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x4175ce
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x4175b0
push dword [ebp - 0x1c]
call fcn.0055801b
mov eax, dword [ebp - 0x28]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ax, word [ebp - 0x108]
test ax, ax
jne 0x417605
mov byte [ebp - 0x1d], al
jmp 0x41766b
cmp ax, 0xb
je 0x41765b
lea ecx, [ebp - 0x108]
call fcn.00436650
push dword [ebp - 0x54]
call fcn.0055801b
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 8
test esi, esi
je 0x417172
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x417652
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x417634
jmp 0x417172
cmp word [ebp - 0x100], 0
mov byte [ebp - 0x1d], 1
setne byte [ebp - 0x41]
lea ecx, [ebp - 0x108]
call fcn.00436650
xor eax, eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x110], eax
mov eax, dword [ebx]
lea ecx, [ebp - 0x118]
push ecx
push 0x15
push esi
push ebx
mov byte [ebp - 4], 7
call dword [eax + 0x18]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x417708
lea ecx, [ebp - 0x118]
call fcn.00436650
push dword [ebp - 0x54]
call fcn.0055801b
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 8
test esi, esi
je 0x4176e6
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x4176e2
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x4176c4
push dword [ebp - 0x1c]
call fcn.0055801b
mov eax, dword [ebp - 0x28]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ax, word [ebp - 0x118]
test ax, ax
jne 0x417719
mov byte [ebp - 0x42], al
jmp 0x41777b
cmp ax, 0xb
je 0x41776f
lea ecx, [ebp - 0x118]
call fcn.00436650
push dword [ebp - 0x54]
call fcn.0055801b
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 8
test esi, esi
je 0x417172
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x417766
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x417748
jmp 0x417172
cmp word [ebp - 0x110], 0
setne byte [ebp - 0x42]
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 3
call fcn.00436650
cmp byte [ebp - 0x42], 0
je 0x4177a9
xor al, al
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
jmp 0x4177ac
mov al, byte [ebp - 0x40]
cmp byte [ebp - 0x1d], 0
jne 0x4177c1
test al, al
je 0x4177c1
mov eax, dword [ebp - 0x48]
shr eax, 4
and al, 1
mov byte [ebp - 0x41], al
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x54]
call fcn.00435bc0
cmp byte [ebp - 0x44], 0
je 0x417959
cmp byte [ebp - 0x41], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
jne 0x417959
xor eax, eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebx]
lea ecx, [ebp - 0xd8]
push ecx
push 7
push esi
push ebx
mov byte [ebp - 4], 8
call dword [eax + 0x18]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x417884
lea ecx, [ebp - 0xd8]
call fcn.00436650
push dword [ebp - 0x54]
call fcn.0055801b
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 8
test esi, esi
je 0x417862
lea ecx, [ecx]
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x41785e
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x417840
push dword [ebp - 0x1c]
call fcn.0055801b
mov eax, dword [ebp - 0x28]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp word [ebp - 0xd8], 0x15
je 0x4178de
lea ecx, [ebp - 0xd8]
call fcn.00436650
push dword [ebp - 0x54]
call fcn.0055801b
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 8
test esi, esi
je 0x417172
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x4178d5
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x4178b7
jmp 0x417172
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x5c], ecx
or ecx, eax
mov dword [ebp - 0x58], eax
je 0x41794a
cmp byte [ebp - 0x42], 0
je 0x41794a
lea ecx, [ebp - 0xd8]
call fcn.00436650
push dword [ebp - 0x54]
call fcn.0055801b
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 8
test esi, esi
je 0x417172
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x417941
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x417923
jmp 0x417172
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 3
call fcn.00436650
mov ecx, dword [ebp - 0x14]
cmp dword [ebp - 0x18], ecx
jne 0x4179ca
cmp ecx, 0x7fffffff
jae 0x41862a
mov eax, ecx
mov esi, 0x7fffffff
sub esi, ecx
shr eax, 2
inc eax
mov edx, 4
cmp eax, esi
cmovbe esi, eax
add esi, ecx
xor ecx, ecx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00558012
mov ecx, dword [ebp - 0x18]
add esp, 4
mov dword [ebp - 0x28], eax
test ecx, ecx
je 0x4179b6
shl ecx, 2
push ecx
push dword [ebp - 0x1c]
push eax
call fcn.0055bfb0
add esp, 0xc
push dword [ebp - 0x1c]
call fcn.0055801b
mov eax, dword [ebp - 0x28]
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], esi
push 0x40
call fcn.00557fd4
mov esi, eax
add esp, 4
mov dword [ebp - 0x194], esi
mov byte [ebp - 4], 9
test esi, esi
je 0x417a63
mov eax, dword [ebp - 0x7c]
mov dword [esi], eax
mov eax, dword [ebp - 0x78]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x70]
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ecx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
mov dword [esi + 0x20], eax
lea eax, [ebp - 0x54]
mov dword [esi + 0x24], ecx
lea ecx, [esi + 0x28]
push eax
call fcn.00435a70
mov eax, dword [ebp - 0x48]
mov dword [esi + 0x34], eax
mov al, byte [ebp - 0x44]
mov byte [esi + 0x38], al
mov al, byte [ebp - 0x43]
mov byte [esi + 0x39], al
mov al, byte [ebp - 0x42]
mov byte [esi + 0x3a], al
mov al, byte [ebp - 0x41]
mov byte [esi + 0x3b], al
mov al, byte [ebp - 0x40]
mov byte [esi + 0x3c], al
mov al, byte [ebp - 0x3f]
mov byte [esi + 0x3d], al
mov al, byte [ebp - 0x3e]
mov byte [esi + 0x3e], al
mov al, byte [ebp - 0x3d]
mov byte [esi + 0x3f], al
jmp 0x417a65
xor esi, esi
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 4], 2
lea eax, [ecx + 1]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + ecx*4], esi
push dword [ebp - 0x54]
call fcn.0055801b
mov esi, dword [ebp - 0x2c]
add esp, 4
inc esi
jmp 0x416ebf
lea ecx, [ebp - 0xc8]
call fcn.004150a0
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0xa
call fcn.004150a0
mov edx, dword [ebp + 8]
mov byte [ebp - 4], 0xb
mov eax, dword [edx + 0x1c]
lea esi, [edx - 0xc]
mov ecx, dword [edx + 0x20]
mov dword [ebp - 0xa0], eax
mov al, byte [edx + 0x15]
mov byte [ebp - 0x98], al
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x9c], ecx
mov ecx, 0x400
cmp eax, ecx
cmova eax, ecx
mov ecx, esi
mov dword [ebp - 0xac], eax
mov al, byte [edx + 0x14]
mov byte [ebp - 0xa8], al
mov al, byte [edx + 0x9a]
mov byte [ebp - 0xa7], al
mov byte [ebp - 0x13f], al
lea eax, [ebp - 0xc8]
push eax
call fcn.00415ab0
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x417c0c
mov ecx, dword [ebp - 0x12c]
test ecx, ecx
je 0x417b45
mov eax, dword [ebp - 0x124]
lea eax, [eax*2 + 2]
push eax
push 0
push ecx
call fcn.0055c530
mov ecx, dword [ebp - 0x12c]
add esp, 0xc
mov dword [ebp - 0x128], 0
push ecx
call fcn.0055801b
push dword [ebp - 0x154]
call fcn.0055801b
add esp, 8
lea ecx, [ebp - 0x160]
call fcn.0040eae0
mov ecx, dword [ebp - 0x94]
test ecx, ecx
je 0x417b97
mov eax, dword [ebp - 0x8c]
lea eax, [eax*2 + 2]
push eax
push 0
push ecx
call fcn.0055c530
mov ecx, dword [ebp - 0x94]
add esp, 0xc
mov dword [ebp - 0x90], 0
push ecx
call fcn.0055801b
push dword [ebp - 0xbc]
call fcn.0055801b
add esp, 8
lea ecx, [ebp - 0xc8]
call fcn.0040eae0
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 4
test esi, esi
je 0x417bea
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x417be6
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x417bc8
push dword [ebp - 0x1c]
call fcn.0055801b
mov eax, dword [ebp - 0x3c]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebp - 0x160]
mov ecx, esi
push eax
call fcn.004158a0
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x417d24
mov ecx, dword [ebp - 0x12c]
test ecx, ecx
je 0x417c58
mov eax, dword [ebp - 0x124]
lea eax, [eax*2 + 2]
push eax
push 0
push ecx
call fcn.0055c530
mov ecx, dword [ebp - 0x12c]
add esp, 0xc
mov dword [ebp - 0x128], 0
push ecx
call fcn.0055801b
push dword [ebp - 0x154]
call fcn.0055801b
add esp, 8
lea ecx, [ebp - 0x160]
call fcn.0040eae0
mov ecx, dword [ebp - 0x94]
test ecx, ecx
je 0x417caa
mov eax, dword [ebp - 0x8c]
lea eax, [eax*2 + 2]
push eax
push 0
push ecx
call fcn.0055c530
mov ecx, dword [ebp - 0x94]
add esp, 0xc
mov dword [ebp - 0x90], 0
push ecx
call fcn.0055801b
push dword [ebp - 0xbc]
call fcn.0055801b
add esp, 8
lea ecx, [ebp - 0xc8]
call fcn.0040eae0
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 4
test esi, esi
je 0x417d02
jmp 0x417ce0
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x417cfe
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x417ce0
push dword [ebp - 0x1c]
call fcn.0055801b
mov eax, dword [ebp - 0x3c]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov dword [ebp - 0x80], 0
mov eax, dword [ebx]
lea ecx, [ebp - 0x80]
push ecx
push 0x5b305c
push ebx
mov byte [ebp - 4], 0xc
call dword [eax]
mov edx, dword [ebp - 0x94]
xor cl, cl
mov byte [ebp - 0x97], cl
test edx, edx
je 0x417d78
mov eax, dword [ebp - 0x8c]
lea eax, [eax*2 + 2]
push eax
push 0
push edx
call fcn.0055c530
mov cl, byte [ebp - 0x97]
add esp, 0xc
mov dword [ebp - 0x90], 0
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x417ecd
mov dword [ebp - 0x2c], 0
mov ecx, dword [eax]
lea edx, [ebp - 0x2c]
push edx
lea edx, [ebp - 0x88]
mov byte [ebp - 4], 0xd
push edx
push eax
call dword [ecx + 0xc]
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x417e64
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x417dda
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
add eax, eax
push eax
push 0
push dword [ebp - 0x2c]
call fcn.0055c530
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
add esp, 0xc
push dword [ebp - 0x2c]
call esi
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x417de0
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push eax
call esi
mov eax, dword [ebp - 0x80]
mov byte [ebp - 4], 0xe
test eax, eax
je 0x417df4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x160]
call fcn.0040ebd0
lea ecx, [ebp - 0xc8]
call fcn.0040ebd0
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 4
test esi, esi
je 0x417e42
lea esp, [esp]
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x417e3e
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x417e20
push dword [ebp - 0x1c]
call fcn.0055801b
mov eax, dword [ebp - 0x3c]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp - 0x88]
test eax, eax
setne byte [ebp - 0x97]
test eax, eax
je 0x417e8a
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x417e8d
push eax
lea ecx, [ebp - 0x94]
call fcn.00435c30
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 0xc
test eax, eax
je 0x417ebe
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
add eax, eax
push eax
push 0
push dword [ebp - 0x2c]
call fcn.0055c530
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
add esp, 0xc
push dword [ebp - 0x2c]
call esi
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x417ec4
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push eax
call esi
mov cl, byte [ebp - 0x97]
mov esi, dword [ebp + 8]
mov dl, byte [esi + 0x87]
mov byte [ebp - 0x1d], dl
xor dl, dl
mov byte [ebp + 0xb], dl
test cl, cl
jne 0x417f0d
cmp byte [esi + 0x1f5], dl
je 0x417f4a
lea eax, [esi + 0x1f8]
mov byte [ebp - 0x97], 1
push eax
lea ecx, [ebp - 0x94]
call fcn.00435bc0
mov cl, byte [ebp - 0x97]
test cl, cl
je 0x417f47
cmp byte [esi + 0x88], 0
je 0x417f1e
mov dl, byte [esi + 0x89]
jmp 0x417f24
mov dl, byte [esi + 0x1f5]
mov byte [ebp + 0xb], dl
mov byte [ebp - 0x1d], 1
test dl, dl
je 0x417f4a
lea eax, [ebp - 0x94]
mov byte [ebp - 0x12f], cl
push eax
lea ecx, [ebp - 0x12c]
call fcn.00435bc0
mov dl, byte [ebp + 0xb]
cmp dword [ebp + 0x10], 2
mov ecx, 0
movzx eax, byte [ebp - 0x1d]
mov ebx, 5
mov dh, byte [ebp - 0x1e]
cmovae ecx, eax
mov eax, dword [esi + 0x34]
cmp eax, 0xffffffff
mov byte [ebp - 0x164], dh
mov dh, byte [ebp - 0x1f]
cmove eax, ebx
cmp byte [esi + 0x87], 0
lea ebx, [ebp - 0xc8]
mov byte [ebp - 0x163], dh
mov dh, byte [ebp - 0x20]
mov byte [ebp - 0x162], dh
mov dh, byte [ebp - 0x21]
mov dword [ebp - 0x190], ebx
mov ebx, dword [ebp + 0x14]
mov byte [ebp - 0x161], dh
jne 0x417fb4
test dl, dl
jne 0x417fb4
mov dword [ebp - 0x18c], 0
jmp 0x417fc0
lea edx, [ebp - 0x160]
mov dword [ebp - 0x18c], edx
test eax, eax
je 0x417fda
cmp byte [esi + 0x70], 0
je 0x417fda
cmp byte [ebp - 0xaf], 0
mov byte [ebp - 0x188], 1
je 0x417fe1
mov byte [ebp - 0x188], 0
cmp eax, 8
mov byte [ebp - 0x180], cl
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x78]
setge byte [ebp - 0x187]
mov dword [ebp - 0x184], eax
mov eax, dword [esi + 0x74]
mov dword [ebp - 0x178], eax
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x170], eax
mov al, byte [esi + 0x85]
mov byte [ebp - 0x168], al
mov al, byte [esi + 0x86]
mov byte [ebp - 0x167], al
mov al, byte [esi + 0x9b]
mov dword [ebp - 0x174], ecx
mov ecx, dword [esi + 0x80]
mov byte [ebp - 0x166], al
mov al, byte [esi + 0x9a]
mov dword [ebp - 0x16c], ecx
lea ecx, [ebp - 0x1d4]
push 0x10000
mov byte [ebp - 0x165], al
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0
call fcn.004318b0
lea ecx, [ebp - 0x2e8]
call fcn.00414e70
mov dword [ebp - 0x84], 0
mov eax, dword [ebx]
lea ecx, [ebp - 0x84]
push ecx
push 0x5b304c
push ebx
mov byte [ebp - 4], 0x11
call dword [eax]
push dword [ebp - 0x84]
lea eax, [ebp - 0x190]
push eax
push ebx
push dword [ebp + 0xc]
lea eax, [ebp - 0x2e8]
push eax
lea eax, [ebp - 0x1ec]
push eax
lea eax, [ebp - 0x1c]
push eax
push edi
push dword [esi + 0x9c]
call fcn.00421ab0
mov ebx, eax
add esp, 0x24
test ebx, ebx
je 0x418358
mov eax, dword [ebp - 0x84]
mov byte [ebp - 4], 0x12
test eax, eax
je 0x41812b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x1f8]
call fcn.0055801b
push dword [ebp - 0x204]
call fcn.0055801b
push dword [ebp - 0x210]
call fcn.0055801b
push dword [ebp - 0x21c]
call fcn.0055801b
push dword [ebp - 0x228]
call fcn.0055801b
push dword [ebp - 0x234]
call fcn.0055801b
push dword [ebp - 0x240]
call fcn.0055801b
push dword [ebp - 0x24c]
call fcn.0055801b
push dword [ebp - 0x258]
call fcn.0055801b
push dword [ebp - 0x264]
call fcn.0055801b
push dword [ebp - 0x270]
call fcn.0055801b
add esp, 0x2c
lea ecx, [ebp - 0x27c]
call fcn.00415360
push dword [ebp - 0x288]
call fcn.0055801b
add esp, 4
lea ecx, [ebp - 0x294]
call fcn.00415260
push dword [ebp - 0x2a0]
call fcn.0055801b
push dword [ebp - 0x2ac]
call fcn.0055801b
push dword [ebp - 0x2b8]
call fcn.0055801b
push dword [ebp - 0x2c4]
call fcn.0055801b
push dword [ebp - 0x2d0]
call fcn.0055801b
push dword [ebp - 0x2dc]
call fcn.0055801b
push dword [ebp - 0x2e8]
call fcn.0055801b
add esp, 0x1c
mov ecx, dword [ebp - 0x198]
mov byte [ebp - 4], 0x13
test ecx, ecx
je 0x41822f
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x19c]
mov byte [ebp - 4], 0x14
test ecx, ecx
je 0x418243
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
lea ecx, [ebp - 0x1d4]
call fcn.00431b60
mov eax, dword [ebp - 0x80]
mov byte [ebp - 4], 0x15
test eax, eax
je 0x41825f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0x12c]
test ecx, ecx
je 0x418292
mov eax, dword [ebp - 0x124]
lea eax, [eax*2 + 2]
push eax
push 0
push ecx
call fcn.0055c530
mov ecx, dword [ebp - 0x12c]
add esp, 0xc
mov dword [ebp - 0x128], 0
push ecx
call fcn.0055801b
push dword [ebp - 0x154]
call fcn.0055801b
add esp, 8
lea ecx, [ebp - 0x160]
call fcn.0040eae0
mov ecx, dword [ebp - 0x94]
test ecx, ecx
je 0x4182e4
mov eax, dword [ebp - 0x8c]
lea eax, [eax*2 + 2]
push eax
push 0
push ecx
call fcn.0055c530
mov ecx, dword [ebp - 0x94]
add esp, 0xc
mov dword [ebp - 0x90], 0
push ecx
call fcn.0055801b
push dword [ebp - 0xbc]
call fcn.0055801b
add esp, 8
lea ecx, [ebp - 0xc8]
call fcn.0040eae0
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 4
test esi, esi
je 0x418337
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x418333
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x418315
push dword [ebp - 0x1c]
call fcn.0055801b
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x418382
nop
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x41837e
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x418360
push dword [ebp - 0x1c]
mov dword [ebp - 0x18], 0
call fcn.0055801b
add esp, 4
mov dword [ebp - 0x1c], 0
lea eax, [ebp - 0x180]
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x1ec]
mov dword [ebp - 0x14], 0
push eax
push dword [ebp - 0x18c]
lea eax, [ebp - 0x2e8]
push eax
call fcn.0041d0f0
mov ebx, eax
mov eax, dword [ebp - 0x84]
mov byte [ebp - 4], 0x16
test eax, eax
je 0x4183de
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x1f8]
call fcn.0055801b
push dword [ebp - 0x204]
call fcn.0055801b
push dword [ebp - 0x210]
call fcn.0055801b
push dword [ebp - 0x21c]
call fcn.0055801b
push dword [ebp - 0x228]
call fcn.0055801b
push dword [ebp - 0x234]
call fcn.0055801b
push dword [ebp - 0x240]
call fcn.0055801b
push dword [ebp - 0x24c]
call fcn.0055801b
push dword [ebp - 0x258]
call fcn.0055801b
push dword [ebp - 0x264]
call fcn.0055801b
push dword [ebp - 0x270]
call fcn.0055801b
add esp, 0x2c
lea ecx, [ebp - 0x27c]
call fcn.00415360
push dword [ebp - 0x288]
call fcn.0055801b
add esp, 4
lea ecx, [ebp - 0x294]
call fcn.00415260
push dword [ebp - 0x2a0]
call fcn.0055801b
push dword [ebp - 0x2ac]
call fcn.0055801b
push dword [ebp - 0x2b8]
call fcn.0055801b
push dword [ebp - 0x2c4]
call fcn.0055801b
push dword [ebp - 0x2d0]
call fcn.0055801b
push dword [ebp - 0x2dc]
call fcn.0055801b
push dword [ebp - 0x2e8]
call fcn.0055801b
add esp, 0x1c
mov ecx, dword [ebp - 0x198]
mov byte [ebp - 4], 0x17
test ecx, ecx
je 0x4184e2
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x19c]
mov byte [ebp - 4], 0x18
test ecx, ecx
je 0x4184f6
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
lea ecx, [ebp - 0x1d4]
call fcn.00431b60
mov eax, dword [ebp - 0x80]
mov byte [ebp - 4], 0x19
test eax, eax
je 0x418512
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0x12c]
test ecx, ecx
je 0x418545
mov eax, dword [ebp - 0x124]
lea eax, [eax*2 + 2]
push eax
push 0
push ecx
call fcn.0055c530
mov ecx, dword [ebp - 0x12c]
add esp, 0xc
mov dword [ebp - 0x128], 0
push ecx
call fcn.0055801b
push dword [ebp - 0x154]
call fcn.0055801b
add esp, 8
lea ecx, [ebp - 0x160]
call fcn.0040eae0
mov ecx, dword [ebp - 0x94]
test ecx, ecx
je 0x418597
mov eax, dword [ebp - 0x8c]
lea eax, [eax*2 + 2]
push eax
push 0
push ecx
call fcn.0055c530
mov ecx, dword [ebp - 0x94]
add esp, 0xc
mov dword [ebp - 0x90], 0
push ecx
call fcn.0055801b
push dword [ebp - 0xbc]
call fcn.0055801b
add esp, 8
lea ecx, [ebp - 0xc8]
call fcn.0040eae0
push dword [ebp - 0x38]
call fcn.0055801b
mov esi, dword [ebp - 0x18]
add esp, 4
test esi, esi
je 0x4185ea
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x4185e6
push dword [edi + 0x28]
call fcn.0055801b
push 0x40
push edi
call fcn.00558004
add esp, 0xc
test esi, esi
jne 0x4185c8
push dword [ebp - 0x1c]
call fcn.0055801b
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x5f2918
lea eax, [ebp - 0x120]
mov dword [ebp - 0x120], 0x7e5
push eax
call fcn.0055ca0e
int3