Function at 0x40edfb
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x669096
mov eax, dword fs:[0]
push eax
sub esp, 0xdd8
mov eax, dword [0x7140f4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x9e0], ecx
and dword [ebp - 0x9dc], 0
and dword [ebp - 4], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x9e8], xmm0
xor eax, eax
inc eax
je 0x410ddb
push 0x68bcb8
lea eax, [ebp - 0xc2c]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xc24], eax
mov eax, dword [ebp - 0xc24]
mov dword [ebp - 0xc28], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0xc28]
call fcn.004e0c90
push eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ebp + 0x10]
call dword [eax + 0x174]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc2c]
call fcn.004e0a9e
push 1
push 0
mov eax, dword [ebp + 0x14]
push dword [eax + 0x20]
call fcn.00437c88
add esp, 0xc
push 1
push 0
mov eax, dword [ebp + 0x10]
push dword [eax + 0x20]
call fcn.00437c88
add esp, 0xc
push 0x104
push 0
lea eax, [ebp - 0x31c]
push eax
call fcn.0064a480
add esp, 0xc
and dword [ebp - 0x9d4], 0
push 0x104
push 0
lea eax, [ebp - 0x524]
push eax
call fcn.0064a480
add esp, 0xc
and dword [ebp - 0xa08], 0
and dword [ebp - 0xa0c], 0
push 0x104
push 0
lea eax, [ebp - 0x628]
push eax
call fcn.0064a480
add esp, 0xc
push 0
push 0x1a
lea eax, [ebp - 0x31c]
push eax
push 0
call fcn.00432a61
add esp, 0x10
push 0x68bcec
lea eax, [ebp - 0xc38]
push eax
call fcn.0041c9c1
pop ecx
pop ecx
mov dword [ebp - 0xc30], eax
mov eax, dword [ebp - 0xc30]
mov dword [ebp - 0xc34], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0xc34]
call fcn.004e0c90
push eax
lea eax, [ebp - 0x31c]
push eax
call fcn.004333e4
pop ecx
pop ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc38]
call fcn.004e0a9e
lea eax, [ebp - 0x31c]
push eax
call fcn.00650060
pop ecx
push eax
lea eax, [ebp - 0x31c]
push eax
lea eax, [ebp - 0x524]
push eax
call fcn.00649f00
add esp, 0xc
push 0x68bd10
lea eax, [ebp - 0xcb4]
push eax
call fcn.0041c9c1
pop ecx
pop ecx
mov dword [ebp - 0xc3c], eax
mov eax, dword [ebp - 0xc3c]
mov dword [ebp - 0xc40], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0xc40]
call fcn.004e0c90
push eax
lea eax, [ebp - 0x31c]
push eax
call fcn.004333e4
pop ecx
pop ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xcb4]
call fcn.004e0a9e
lea eax, [ebp - 0x31c]
push eax
call fcn.0043372c
pop ecx
test eax, eax
je 0x40f056
push 0
push 0x68bd2c
lea eax, [ebp - 0xcbc]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xcb8], eax
mov eax, dword [ebp - 0x9dc]
or eax, 1
mov dword [ebp - 0x9dc], eax
mov ecx, dword [ebp - 0xcb8]
call fcn.004e0c90
push eax
lea ecx, [ebp + 0x18]
call fcn.004e4014
test eax, eax
jge 0x40f056
mov dword [ebp - 0xa44], 1
jmp 0x40f05d
and dword [ebp - 0xa44], 0
mov al, byte [ebp - 0xa44]
mov byte [ebp - 0x9ff], al
mov eax, dword [ebp - 0x9dc]
and eax, 1
je 0x40f086
and dword [ebp - 0x9dc], 0xfffffffe
lea ecx, [ebp - 0xcbc]
call fcn.004e0a9e
movzx eax, byte [ebp - 0x9ff]
test eax, eax
je 0x40f528
lea eax, [ebp - 0x9d4]
push eax
lea eax, [ebp - 0x31c]
push eax
mov ecx, dword [ebp - 0x9e0]
call fcn.00410e26
mov dword [ebp - 0xcc0], eax
cmp dword [ebp - 0xcc0], 0
jl 0x40f528
push 0x68bd44
lea eax, [ebp - 0xccc]
push eax
call fcn.0041c9c1
pop ecx
pop ecx
mov dword [ebp - 0xcc4], eax
mov eax, dword [ebp - 0xcc4]
mov dword [ebp - 0xcc8], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xcc8]
call fcn.004e0c90
push eax
push dword [ebp - 0x9d4]
call fcn.004e6872
pop ecx
pop ecx
mov dword [ebp - 0xa08], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xccc]
call fcn.004e0a9e
cmp dword [ebp - 0xa08], 0
je 0x40f528
push 0x68bd54
lea eax, [ebp - 0xcd4]
push eax
call fcn.0041c9c1
pop ecx
pop ecx
mov dword [ebp - 0xcd0], eax
mov ecx, dword [ebp - 0xcd0]
call fcn.004e0c90
push eax
call fcn.00650060
pop ecx
add eax, dword [ebp - 0xa08]
mov dword [ebp - 0xa08], eax
lea ecx, [ebp - 0xcd4]
call fcn.004e0a9e
push 0x68bd64
lea eax, [ebp - 0xce0]
push eax
call fcn.0041c9c1
pop ecx
pop ecx
mov dword [ebp - 0xcd8], eax
mov eax, dword [ebp - 0xcd8]
mov dword [ebp - 0xcdc], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0xcdc]
call fcn.004e0c90
push eax
push dword [ebp - 0xa08]
call fcn.004e6872
pop ecx
pop ecx
mov dword [ebp - 0xa0c], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xce0]
call fcn.004e0a9e
cmp dword [ebp - 0xa0c], 0
je 0x40f528
push 0x68bd78
lea eax, [ebp - 0xa60]
push eax
call fcn.0041c9c1
pop ecx
pop ecx
mov dword [ebp - 0xce4], eax
mov ecx, dword [ebp - 0xce4]
call fcn.004e0c90
push eax
call fcn.00650060
pop ecx
add eax, dword [ebp - 0xa0c]
mov dword [ebp - 0xa0c], eax
lea ecx, [ebp - 0xa60]
call fcn.004e0a9e
mov eax, dword [ebp - 0xa0c]
mov byte [eax], 0
and dword [ebp - 0x9d8], 0
lea eax, [ebp - 0x9d8]
push eax
push 0x68bd8c
push dword [ebp - 0xa08]
call fcn.0065058d
add esp, 0xc
mov dword [ebp - 0xa10], eax
cmp dword [ebp - 0xa10], 0
je 0x40f292
push dword [ebp - 0xa10]
lea eax, [ebp - 0x524]
push eax
call fcn.004333e4
pop ecx
pop ecx
push dword [ebp - 0xa10]
push 0x104
lea eax, [ebp - 0x628]
push eax
call fcn.00650454
add esp, 0xc
lea eax, [ebp - 0x9d8]
push eax
push 0x68bd90
push 0
call fcn.0065058d
add esp, 0xc
mov dword [ebp - 0xa10], eax
jmp 0x40f23d
push dword [ebp - 0x9d4]
call fcn.006500eb
pop ecx
push 0x104
push 0
lea eax, [ebp - 0x420]
push eax
call fcn.0064a480
add esp, 0xc
push 0
push 0x1c
lea eax, [ebp - 0x420]
push eax
push 0
call fcn.00432a61
add esp, 0x10
push 0x68bd94
lea eax, [ebp - 0xa6c]
push eax
call fcn.0041c9c1
pop ecx
pop ecx
mov dword [ebp - 0xa64], eax
mov eax, dword [ebp - 0xa64]
mov dword [ebp - 0xa68], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0xa68]
call fcn.004e0c90
push eax
lea eax, [ebp - 0x420]
push eax
call fcn.004333e4
pop ecx
pop ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xa6c]
call fcn.004e0a9e
lea eax, [ebp - 0x628]
push eax
lea eax, [ebp - 0x420]
push eax
call fcn.004333e4
pop ecx
pop ecx
push 0x68bdc8
lea eax, [ebp - 0xa78]
push eax
call fcn.0041c9c1
pop ecx
pop ecx
mov dword [ebp - 0xa70], eax
mov eax, dword [ebp - 0xa70]
mov dword [ebp - 0xa74], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0xa74]
call fcn.004e0c90
push eax
lea eax, [ebp - 0x420]
push eax
call fcn.004333e4
pop ecx
pop ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xa78]
call fcn.004e0a9e
lea eax, [ebp - 0x420]
push eax
call fcn.0043372c
pop ecx
test eax, eax
je 0x40f528
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0xd54]
call fcn.004e2fd8
mov byte [ebp - 4], 8
push 0
lea eax, [ebp - 0xd54]
push eax
lea eax, [ebp - 0x848]
push eax
call fcn.00413255
add esp, 0xc
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xd54]
call fcn.004e3095
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xd20], esp
push 0x68bdd8
call fcn.004e18af
mov dword [ebp - 0xd08], eax
mov byte [ebp - 4], 0xb
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xd0c], esp
lea eax, [ebp - 0x848]
push eax
call fcn.004e1846
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x9e0]
call fcn.00410f0d
mov dword [ebp - 0xc48], eax
mov dword [ebp - 0xc44], edx
mov eax, dword [ebp - 0xc48]
mov dword [ebp - 0xa18], eax
mov eax, dword [ebp - 0xc44]
mov dword [ebp - 0xa14], eax
mov eax, dword [ebp - 0x9e8]
add eax, dword [ebp - 0xa18]
mov ecx, dword [ebp - 0x9e4]
adc ecx, dword [ebp - 0xa14]
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9e4], ecx
mov eax, dword [ebp - 0xa18]
or eax, dword [ebp - 0xa14]
je 0x40f519
lea ecx, [ebp - 0x880]
call fcn.004e58a0
mov byte [ebp - 4], 0xc
push 0x68bddc
lea eax, [ebp - 0xa84]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xa7c], eax
mov eax, dword [ebp - 0xa7c]
mov dword [ebp - 0xa80], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0xa80]
call fcn.004e0c90
push eax
lea ecx, [ebp - 0x880]
call fcn.004e59b1
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xa84]
call fcn.004e0a9e
mov eax, dword [ebp - 0xa18]
mov dword [ebp - 0x850], eax
mov eax, dword [ebp - 0xa14]
mov dword [ebp - 0x84c], eax
lea eax, [ebp - 0x848]
push eax
lea ecx, [ebp - 0x868]
call fcn.004e5955
lea eax, [ebp - 0x880]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.004e5c9a
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x880]
call fcn.004e58bf
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x848]
call fcn.004e195a
push 0
mov ecx, dword [ebp - 0x9e0]
call fcn.004131c4
test eax, eax
je 0x40f544
mov ecx, dword [ebp - 0x9e0]
call fcn.0041320e
push 0x1f4
call fcn.00433942
pop ecx
push 0x208
push 0
lea eax, [ebp - 0x218]
push eax
call fcn.0064a480
add esp, 0xc
push 0x68be10
lea eax, [ebp - 0xa90]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xa88], eax
mov eax, dword [ebp - 0xa88]
mov dword [ebp - 0xa8c], eax
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0xa8c]
call fcn.004e0c90
push eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ebp + 0x10]
call dword [eax + 0x174]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xa90]
call fcn.004e0a9e
push 1
push 0
mov eax, dword [ebp + 0x14]
push dword [eax + 0x20]
call fcn.00437c88
add esp, 0xc
push 1
push 0
mov eax, dword [ebp + 0x10]
push dword [eax + 0x20]
call fcn.00437c88
add esp, 0xc
push 0x104
push 0
lea eax, [ebp - 0x218]
push eax
call fcn.0064a480
add esp, 0xc
push 0
push 0x20
lea eax, [ebp - 0x218]
push eax
push 0
call fcn.00430cfa
add esp, 0x10
lea eax, [ebp - 0x218]
push eax
call fcn.00430c2f
pop ecx
test eax, eax
je 0x40f665
push 0
push 0x68be44
lea eax, [ebp - 0xa98]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xa94], eax
mov eax, dword [ebp - 0x9dc]
or eax, 2
mov dword [ebp - 0x9dc], eax
mov ecx, dword [ebp - 0xa94]
call fcn.004e0c90
push eax
lea ecx, [ebp + 0x18]
call fcn.004e4014
test eax, eax
jge 0x40f665
mov dword [ebp - 0xa40], 1
jmp 0x40f66c
and dword [ebp - 0xa40], 0
mov al, byte [ebp - 0xa40]
mov byte [ebp - 0xa00], al
mov eax, dword [ebp - 0x9dc]
and eax, 2
je 0x40f695
and dword [ebp - 0x9dc], 0xfffffffd
lea ecx, [ebp - 0xa98]
call fcn.004e0a9e
movzx eax, byte [ebp - 0xa00]
test eax, eax
je 0x40f82a
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0xd10], esp
push 0x68be58
lea eax, [ebp - 0xaa4]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xa9c], eax
mov eax, dword [ebp - 0xa9c]
mov dword [ebp - 0xaa0], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0xaa0]
call fcn.004e0c90
push eax
mov ecx, esi
call fcn.004e18af
mov dword [ebp - 0xd14], eax
mov byte [ebp - 4], 0x10
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xd18], esp
lea eax, [ebp - 0x218]
push eax
call fcn.004e18af
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x9e0]
call fcn.00410f0d
mov dword [ebp - 0xc50], eax
mov dword [ebp - 0xc4c], edx
mov eax, dword [ebp - 0xc50]
mov dword [ebp - 0xa20], eax
mov eax, dword [ebp - 0xc4c]
mov dword [ebp - 0xa1c], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xaa4]
call fcn.004e0a9e
mov eax, dword [ebp - 0x9e8]
add eax, dword [ebp - 0xa20]
mov ecx, dword [ebp - 0x9e4]
adc ecx, dword [ebp - 0xa1c]
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9e4], ecx
mov eax, dword [ebp - 0xa20]
or eax, dword [ebp - 0xa1c]
je 0x40f82a
lea ecx, [ebp - 0x8b8]
call fcn.004e58a0
mov byte [ebp - 4], 0x11
push 0x68be70
lea eax, [ebp - 0xab0]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xaa8], eax
mov eax, dword [ebp - 0xaa8]
mov dword [ebp - 0xaac], eax
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0xaac]
call fcn.004e0c90
push eax
lea ecx, [ebp - 0x8b8]
call fcn.004e59b1
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xab0]
call fcn.004e0a9e
mov eax, dword [ebp - 0xa20]
mov dword [ebp - 0x888], eax
mov eax, dword [ebp - 0xa1c]
mov dword [ebp - 0x884], eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x8a0]
call fcn.004e59b1
lea eax, [ebp - 0x8b8]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.004e5c9a
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x8b8]
call fcn.004e58bf
push 0
mov ecx, dword [ebp - 0x9e0]
call fcn.004131c4
test eax, eax
je 0x40f846
mov ecx, dword [ebp - 0x9e0]
call fcn.0041320e
push 0x1f4
call fcn.00433942
pop ecx
push 0x68bea4
lea eax, [ebp - 0xabc]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xab4], eax
mov eax, dword [ebp - 0xab4]
mov dword [ebp - 0xab8], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0xab8]
call fcn.004e0c90
push eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ebp + 0x10]
call dword [eax + 0x174]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xabc]
call fcn.004e0a9e
push 1
push 0
mov eax, dword [ebp + 0x14]
push dword [eax + 0x20]
call fcn.00437c88
add esp, 0xc
push 1
push 0
mov eax, dword [ebp + 0x10]
push dword [eax + 0x20]
call fcn.00437c88
add esp, 0xc
push 0x104
push 0
lea eax, [ebp - 0x218]
push eax
call fcn.0064a480
add esp, 0xc
push 0
push 0x24
lea eax, [ebp - 0x218]
push eax
push 0
call fcn.00430cfa
add esp, 0x10
push 0x68bed8
lea eax, [ebp - 0xac8]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xac0], eax
mov eax, dword [ebp - 0xac0]
mov dword [ebp - 0xac4], eax
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0xac4]
call fcn.004e0c90
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00430f3d
pop ecx
pop ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xac8]
call fcn.004e0a9e
lea eax, [ebp - 0x218]
push eax
call fcn.00430c2f
pop ecx
test eax, eax
je 0x40f9a3
push 0
push 0x68bf0c
lea eax, [ebp - 0xad0]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xacc], eax
mov eax, dword [ebp - 0x9dc]
or eax, 4
mov dword [ebp - 0x9dc], eax
mov ecx, dword [ebp - 0xacc]
call fcn.004e0c90
push eax
lea ecx, [ebp + 0x18]
call fcn.004e4014
test eax, eax
jge 0x40f9a3
mov dword [ebp - 0xa48], 1
jmp 0x40f9aa
and dword [ebp - 0xa48], 0
mov al, byte [ebp - 0xa48]
mov byte [ebp - 0xa01], al
mov eax, dword [ebp - 0x9dc]
and eax, 4
je 0x40f9d3
and dword [ebp - 0x9dc], 0xfffffffb
lea ecx, [ebp - 0xad0]
call fcn.004e0a9e
movzx eax, byte [ebp - 0xa01]
test eax, eax
je 0x40fb68
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0xd1c], esp
push 0x68bf24
lea eax, [ebp - 0xadc]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xad4], eax
mov eax, dword [ebp - 0xad4]
mov dword [ebp - 0xad8], eax
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0xad8]
call fcn.004e0c90
push eax
mov ecx, esi
call fcn.004e18af
mov dword [ebp - 0xd3c], eax
mov byte [ebp - 4], 0x16
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xd24], esp
lea eax, [ebp - 0x218]
push eax
call fcn.004e18af
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x9e0]
call fcn.00410f0d
mov dword [ebp - 0xc58], eax
mov dword [ebp - 0xc54], edx
mov eax, dword [ebp - 0xc58]
mov dword [ebp - 0xa28], eax
mov eax, dword [ebp - 0xc54]
mov dword [ebp - 0xa24], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xadc]
call fcn.004e0a9e
mov eax, dword [ebp - 0x9e8]
add eax, dword [ebp - 0xa28]
mov ecx, dword [ebp - 0x9e4]
adc ecx, dword [ebp - 0xa24]
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9e4], ecx
mov eax, dword [ebp - 0xa28]
or eax, dword [ebp - 0xa24]
je 0x40fb68
lea ecx, [ebp - 0x960]
call fcn.004e58a0
mov byte [ebp - 4], 0x17
push 0x68bf58
lea eax, [ebp - 0xae8]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xae0], eax
mov eax, dword [ebp - 0xae0]
mov dword [ebp - 0xae4], eax
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0xae4]
call fcn.004e0c90
push eax
lea ecx, [ebp - 0x960]
call fcn.004e59b1
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xae8]
call fcn.004e0a9e
mov eax, dword [ebp - 0xa28]
mov dword [ebp - 0x930], eax
mov eax, dword [ebp - 0xa24]
mov dword [ebp - 0x92c], eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x948]
call fcn.004e59b1
lea eax, [ebp - 0x960]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.004e5c9a
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x960]
call fcn.004e58bf
push 0
mov ecx, dword [ebp - 0x9e0]
call fcn.004131c4
test eax, eax
je 0x40fb84
mov ecx, dword [ebp - 0x9e0]
call fcn.0041320e
push 0x1f4
call fcn.00433942
pop ecx
push 0x68bf3c
lea eax, [ebp - 0xaf4]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xaec], eax
mov eax, dword [ebp - 0xaec]
mov dword [ebp - 0xaf0], eax
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0xaf0]
call fcn.004e0c90
push eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ebp + 0x10]
call dword [eax + 0x174]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xaf4]
call fcn.004e0a9e
push 1
push 0
mov eax, dword [ebp + 0x14]
push dword [eax + 0x20]
call fcn.00437c88
add esp, 0xc
push 1
push 0
mov eax, dword [ebp + 0x10]
push dword [eax + 0x20]
call fcn.00437c88
add esp, 0xc
push 0x14
call fcn.00505f47
pop ecx
mov dword [ebp - 0xa34], eax
cmp dword [ebp - 0xa34], 0
je 0x40fc37
xor eax, eax
mov edi, dword [ebp - 0xa34]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp - 0xa34]
mov dword [ebp - 0xa3c], eax
jmp 0x40fc3e
and dword [ebp - 0xa3c], 0
mov eax, dword [ebp - 0xa3c]
mov dword [ebp - 0x9fc], eax
mov eax, dword [ebp - 0x9fc]
mov dword [eax], 0x14
push dword [ebp - 0x9fc]
push 0
call fcn.00434270
pop ecx
pop ecx
mov dword [ebp - 0xaf8], eax
cmp dword [ebp - 0xaf8], 0
jne 0x40fcc2
push 0
push 0x68bf9c
lea eax, [ebp - 0xb00]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xafc], eax
mov eax, dword [ebp - 0x9dc]
or eax, 8
mov dword [ebp - 0x9dc], eax
mov ecx, dword [ebp - 0xafc]
call fcn.004e0c90
push eax
lea ecx, [ebp + 0x18]
call fcn.004e4014
test eax, eax
jge 0x40fcc2
mov dword [ebp - 0xa38], 1
jmp 0x40fcc9
and dword [ebp - 0xa38], 0
mov al, byte [ebp - 0xa38]
mov byte [ebp - 0xa02], al
mov eax, dword [ebp - 0x9dc]
and eax, 8
je 0x40fcf2
and dword [ebp - 0x9dc], 0xfffffff7
lea ecx, [ebp - 0xb00]
call fcn.004e0a9e
movzx eax, byte [ebp - 0xa02]
test eax, eax
je 0x40fddd
mov eax, dword [ebp - 0x9fc]
mov dword [ebp - 0xa58], eax
mov eax, dword [ebp - 0xa58]
mov ecx, dword [ebp - 0xa58]
mov eax, dword [eax + 4]
or eax, dword [ecx + 8]
je 0x40fddd
lea ecx, [ebp - 0x998]
call fcn.004e58a0
mov byte [ebp - 4], 0x1a
push 0x68bfb4
lea eax, [ebp - 0xb0c]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xb04], eax
mov eax, dword [ebp - 0xb04]
mov dword [ebp - 0xb08], eax
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0xb08]
call fcn.004e0c90
push eax
lea ecx, [ebp - 0x998]
call fcn.004e59b1
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0xb0c]
call fcn.004e0a9e
mov eax, dword [ebp - 0x9fc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x968], ecx
mov eax, dword [eax + 8]
mov dword [ebp - 0x964], eax
lea eax, [ebp - 0x998]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.004e5c9a
mov eax, dword [ebp - 0x9fc]
mov ecx, dword [ebp - 0x9e8]
add ecx, dword [eax + 4]
mov edx, dword [ebp - 0x9e4]
adc edx, dword [eax + 8]
mov dword [ebp - 0x9e8], ecx
mov dword [ebp - 0x9e4], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x998]
call fcn.004e58bf
cmp dword [ebp - 0x9fc], 0
je 0x40fe29
mov eax, dword [ebp - 0x9fc]
mov dword [ebp - 0xa54], eax
push 0x14
push dword [ebp - 0xa54]
call fcn.0064872f
pop ecx
pop ecx
cmp dword [ebp - 0xa54], 0
jne 0x40fe13
and dword [ebp - 0xb10], 0
jmp 0x40fe29
mov dword [ebp - 0x9fc], 0x8123
mov eax, dword [ebp - 0x9fc]
mov dword [ebp - 0xb10], eax
push 0
mov ecx, dword [ebp - 0x9e0]
call fcn.004131c4
test eax, eax
je 0x40fe45
mov ecx, dword [ebp - 0x9e0]
call fcn.0041320e
push 0x1f4
call fcn.00433942
pop ecx
push 0x68bfd0
lea eax, [ebp - 0xb1c]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xb14], eax
mov eax, dword [ebp - 0xb14]
mov dword [ebp - 0xb18], eax
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0xb18]
call fcn.004e0c90
push eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ebp + 0x10]
call dword [eax + 0x174]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb1c]
call fcn.004e0a9e
push 1
push 0
mov eax, dword [ebp + 0x14]
push dword [eax + 0x20]
call fcn.00437c88
add esp, 0xc
push 1
push 0
mov eax, dword [ebp + 0x10]
push dword [eax + 0x20]
call fcn.00437c88
add esp, 0xc
and dword [ebp - 0xb20], 0
push 0x208
push 0
lea eax, [ebp - 0x830]
push eax
call fcn.0064a480
add esp, 0xc
lea eax, [ebp - 0x830]
push eax
push 0x104
call fcn.0043664b
pop ecx
pop ecx
mov dword [ebp - 0xb20], eax
lea eax, [ebp - 0x830]
push eax
call fcn.00430c2f
pop ecx
test eax, eax
je 0x40ff5b
push 0
push 0x68bff4
lea eax, [ebp - 0xb28]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xb24], eax
mov eax, dword [ebp - 0x9dc]
or eax, 0x10
mov dword [ebp - 0x9dc], eax
mov ecx, dword [ebp - 0xb24]
call fcn.004e0c90
push eax
lea ecx, [ebp + 0x18]
call fcn.004e4014
test eax, eax
jge 0x40ff5b
mov dword [ebp - 0xa5c], 1
jmp 0x40ff62
and dword [ebp - 0xa5c], 0
mov al, byte [ebp - 0xa5c]
mov byte [ebp - 0xa03], al
mov eax, dword [ebp - 0x9dc]
and eax, 0x10
je 0x40ff8b
and dword [ebp - 0x9dc], 0xffffffef
lea ecx, [ebp - 0xb28]
call fcn.004e0a9e
movzx eax, byte [ebp - 0xa03]
test eax, eax
je 0x4100df
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xd28], esp
push 0x68c008
call fcn.004e18af
mov dword [ebp - 0xd2c], eax
mov byte [ebp - 4], 0x1d
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xd30], esp
lea eax, [ebp - 0x830]
push eax
call fcn.004e18af
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x9e0]
call fcn.00410f0d
mov dword [ebp - 0xc60], eax
mov dword [ebp - 0xc5c], edx
mov eax, dword [ebp - 0xc60]
mov dword [ebp - 0xa30], eax
mov eax, dword [ebp - 0xc5c]
mov dword [ebp - 0xa2c], eax
mov eax, dword [ebp - 0x9e8]
add eax, dword [ebp - 0xa30]
mov ecx, dword [ebp - 0x9e4]
adc ecx, dword [ebp - 0xa2c]
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9e4], ecx
mov eax, dword [ebp - 0xa30]
or eax, dword [ebp - 0xa2c]
je 0x4100df
lea ecx, [ebp - 0x928]
call fcn.004e58a0
mov byte [ebp - 4], 0x1e
push 0x68c00c
lea eax, [ebp - 0xb34]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xb2c], eax
mov eax, dword [ebp - 0xb2c]
mov dword [ebp - 0xb30], eax
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0xb30]
call fcn.004e0c90
push eax
lea ecx, [ebp - 0x928]
call fcn.004e59b1
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xb34]
call fcn.004e0a9e
mov eax, dword [ebp - 0xa30]
mov dword [ebp - 0x8f8], eax
mov eax, dword [ebp - 0xa2c]
mov dword [ebp - 0x8f4], eax
lea eax, [ebp - 0x830]
push eax
lea ecx, [ebp - 0x910]
call fcn.004e59b1
lea eax, [ebp - 0x928]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.004e5c9a
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x928]
call fcn.004e58bf
push 0
mov ecx, dword [ebp - 0x9e0]
call fcn.004131c4
test eax, eax
je 0x4100fb
mov ecx, dword [ebp - 0x9e0]
call fcn.0041320e
push 0x1f4
call fcn.00433942
pop ecx
push 0x68c030
lea eax, [ebp - 0xb40]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xb38], eax
mov eax, dword [ebp - 0xb38]
mov dword [ebp - 0xb3c], eax
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0xb3c]
call fcn.004e0c90
push eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ebp + 0x10]
call dword [eax + 0x174]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb40]
call fcn.004e0a9e
push 1
push 0
mov eax, dword [ebp + 0x14]
push dword [eax + 0x20]
call fcn.00437c88
add esp, 0xc
push 1
push 0
mov eax, dword [ebp + 0x10]
push dword [eax + 0x20]
call fcn.00437c88
add esp, 0xc
push 0x104
push 0
lea eax, [ebp - 0x218]
push eax
call fcn.0064a480
add esp, 0xc
push 0
push 0x24
lea eax, [ebp - 0x218]
push eax
push 0
call fcn.00430cfa
add esp, 0x10
lea eax, [ebp - 0x218]
push eax
call fcn.00430c2f
pop ecx
test eax, eax
je 0x410206
push 0
push 0x68c048
lea eax, [ebp - 0xb48]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xb44], eax
mov eax, dword [ebp - 0x9dc]
or eax, 0x20
mov dword [ebp - 0x9dc], eax
mov ecx, dword [ebp - 0xb44]
call fcn.004e0c90
push eax
lea ecx, [ebp + 0x18]
call fcn.004e4014
test eax, eax
jge 0x410206
mov dword [ebp - 0xa4c], 1
jmp 0x41020d
and dword [ebp - 0xa4c], 0
mov al, byte [ebp - 0xa4c]
mov byte [ebp - 0x9fe], al
mov eax, dword [ebp - 0x9dc]
and eax, 0x20
je 0x410236
and dword [ebp - 0x9dc], 0xffffffdf
lea ecx, [ebp - 0xb48]
call fcn.004e0a9e
movzx eax, byte [ebp - 0x9fe]
test eax, eax
je 0x410855
push 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xd34], esp
lea eax, [ebp - 0x218]
push eax
call fcn.004e18af
mov ecx, dword [ebp - 0x9e0]
call fcn.0041126c
mov dword [ebp - 0xc68], eax
mov dword [ebp - 0xc64], edx
mov eax, dword [ebp - 0xc68]
mov dword [ebp - 0x9f0], eax
mov eax, dword [ebp - 0xc64]
mov dword [ebp - 0x9ec], eax
push 1
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0xd38], esp
push 0x68c060
lea eax, [ebp - 0xb5c]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xb4c], eax
mov eax, dword [ebp - 0xb4c]
mov dword [ebp - 0xb50], eax
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0xb50]
call fcn.004e0c90
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0xd6c]
call fcn.004e18af
mov dword [ebp - 0xb54], eax
mov eax, dword [ebp - 0xb54]
mov dword [ebp - 0xb58], eax
mov byte [ebp - 4], 0x22
push dword [ebp - 0xb58]
push esi
call fcn.004e5179
add esp, 0xc
mov ecx, dword [ebp - 0x9e0]
call fcn.0041126c
mov dword [ebp - 0xc70], eax
mov dword [ebp - 0xc6c], edx
mov eax, dword [ebp - 0x9f0]
add eax, dword [ebp - 0xc70]
mov ecx, dword [ebp - 0x9ec]
adc ecx, dword [ebp - 0xc6c]
mov dword [ebp - 0x9f0], eax
mov dword [ebp - 0x9ec], ecx
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0xd6c]
call fcn.004e195a
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb5c]
call fcn.004e0a9e
push 1
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0xce8], esp
push 0x68c08c
lea eax, [ebp - 0xb70]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xb60], eax
mov eax, dword [ebp - 0xb60]
mov dword [ebp - 0xb64], eax
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0xb64]
call fcn.004e0c90
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0xd84]
call fcn.004e18af
mov dword [ebp - 0xb68], eax
mov eax, dword [ebp - 0xb68]
mov dword [ebp - 0xb6c], eax
mov byte [ebp - 4], 0x24
push dword [ebp - 0xb6c]
push esi
call fcn.004e5179
add esp, 0xc
mov ecx, dword [ebp - 0x9e0]
call fcn.0041126c
mov dword [ebp - 0xc78], eax
mov dword [ebp - 0xc74], edx
mov eax, dword [ebp - 0x9f0]
add eax, dword [ebp - 0xc78]
mov ecx, dword [ebp - 0x9ec]
adc ecx, dword [ebp - 0xc74]
mov dword [ebp - 0x9f0], eax
mov dword [ebp - 0x9ec], ecx
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0xd84]
call fcn.004e195a
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb70]
call fcn.004e0a9e
push 1
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0xcec], esp
push 0x68c098
lea eax, [ebp - 0xb84]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xb74], eax
mov eax, dword [ebp - 0xb74]
mov dword [ebp - 0xb78], eax
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0xb78]
call fcn.004e0c90
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0xd9c]
call fcn.004e18af
mov dword [ebp - 0xb7c], eax
mov eax, dword [ebp - 0xb7c]
mov dword [ebp - 0xb80], eax
mov byte [ebp - 4], 0x26
push dword [ebp - 0xb80]
push esi
call fcn.004e5179
add esp, 0xc
mov ecx, dword [ebp - 0x9e0]
call fcn.0041126c
mov dword [ebp - 0xc80], eax
mov dword [ebp - 0xc7c], edx
mov eax, dword [ebp - 0x9f0]
add eax, dword [ebp - 0xc80]
mov ecx, dword [ebp - 0x9ec]
adc ecx, dword [ebp - 0xc7c]
mov dword [ebp - 0x9f0], eax
mov dword [ebp - 0x9ec], ecx
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0xd9c]
call fcn.004e195a
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb84]
call fcn.004e0a9e
push 1
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0xcf0], esp
push 0x68c0b8
lea eax, [ebp - 0xb98]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xb88], eax
mov eax, dword [ebp - 0xb88]
mov dword [ebp - 0xb8c], eax
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0xb8c]
call fcn.004e0c90
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0xdb4]
call fcn.004e18af
mov dword [ebp - 0xb90], eax
mov eax, dword [ebp - 0xb90]
mov dword [ebp - 0xb94], eax
mov byte [ebp - 4], 0x28
push dword [ebp - 0xb94]
push esi
call fcn.004e5179
add esp, 0xc
mov ecx, dword [ebp - 0x9e0]
call fcn.0041126c
mov dword [ebp - 0xc88], eax
mov dword [ebp - 0xc84], edx
mov eax, dword [ebp - 0x9f0]
add eax, dword [ebp - 0xc88]
mov ecx, dword [ebp - 0x9ec]
adc ecx, dword [ebp - 0xc84]
mov dword [ebp - 0x9f0], eax
mov dword [ebp - 0x9ec], ecx
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0xdb4]
call fcn.004e195a
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb98]
call fcn.004e0a9e
push 1
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0xcf4], esp
push 0x68c0c8
lea eax, [ebp - 0xbac]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xb9c], eax
mov eax, dword [ebp - 0xb9c]
mov dword [ebp - 0xba0], eax
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0xba0]
call fcn.004e0c90
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0xdcc]
call fcn.004e18af
mov dword [ebp - 0xba4], eax
mov eax, dword [ebp - 0xba4]
mov dword [ebp - 0xba8], eax
mov byte [ebp - 4], 0x2a
push dword [ebp - 0xba8]
push esi
call fcn.004e5179
add esp, 0xc
mov ecx, dword [ebp - 0x9e0]
call fcn.0041126c
mov dword [ebp - 0xc90], eax
mov dword [ebp - 0xc8c], edx
mov eax, dword [ebp - 0x9f0]
add eax, dword [ebp - 0xc90]
mov ecx, dword [ebp - 0x9ec]
adc ecx, dword [ebp - 0xc8c]
mov dword [ebp - 0x9f0], eax
mov dword [ebp - 0x9ec], ecx
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xdcc]
call fcn.004e195a
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xbac]
call fcn.004e0a9e
push 1
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0xcf8], esp
push 0x68c0d8
lea eax, [ebp - 0xbc0]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xbb0], eax
mov eax, dword [ebp - 0xbb0]
mov dword [ebp - 0xbb4], eax
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0xbb4]
call fcn.004e0c90
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0xde4]
call fcn.004e18af
mov dword [ebp - 0xbb8], eax
mov eax, dword [ebp - 0xbb8]
mov dword [ebp - 0xbbc], eax
mov byte [ebp - 4], 0x2c
push dword [ebp - 0xbbc]
push esi
call fcn.004e5179
add esp, 0xc
mov ecx, dword [ebp - 0x9e0]
call fcn.0041126c
mov dword [ebp - 0xc98], eax
mov dword [ebp - 0xc94], edx
mov eax, dword [ebp - 0x9f0]
add eax, dword [ebp - 0xc98]
mov ecx, dword [ebp - 0x9ec]
adc ecx, dword [ebp - 0xc94]
mov dword [ebp - 0x9f0], eax
mov dword [ebp - 0x9ec], ecx
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0xde4]
call fcn.004e195a
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xbc0]
call fcn.004e0a9e
mov eax, dword [ebp - 0x9e8]
add eax, dword [ebp - 0x9f0]
mov ecx, dword [ebp - 0x9e4]
adc ecx, dword [ebp - 0x9ec]
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9e4], ecx
mov eax, dword [ebp - 0x9f0]
or eax, dword [ebp - 0x9ec]
je 0x410855
lea ecx, [ebp - 0x8f0]
call fcn.004e58a0
mov byte [ebp - 4], 0x2d
push 0x68c0f0
lea eax, [ebp - 0xbcc]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xbc4], eax
mov eax, dword [ebp - 0xbc4]
mov dword [ebp - 0xbc8], eax
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0xbc8]
call fcn.004e0c90
push eax
lea ecx, [ebp - 0x8f0]
call fcn.004e59b1
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0xbcc]
call fcn.004e0a9e
mov eax, dword [ebp - 0x9f0]
mov dword [ebp - 0x8c0], eax
mov eax, dword [ebp - 0x9ec]
mov dword [ebp - 0x8bc], eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x8d8]
call fcn.004e59b1
lea eax, [ebp - 0x8f0]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.004e5c9a
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x8f0]
call fcn.004e58bf
push 0
mov ecx, dword [ebp - 0x9e0]
call fcn.004131c4
test eax, eax
je 0x410871
mov ecx, dword [ebp - 0x9e0]
call fcn.0041320e
push 0x1f4
call fcn.00433942
pop ecx
push 0x68c118
lea eax, [ebp - 0xbd8]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xbd0], eax
mov eax, dword [ebp - 0xbd0]
mov dword [ebp - 0xbd4], eax
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0xbd4]
call fcn.004e0c90
push eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ebp + 0x10]
call dword [eax + 0x174]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xbd8]
call fcn.004e0a9e
push 1
push 0
mov eax, dword [ebp + 0x14]
push dword [eax + 0x20]
call fcn.00437c88
add esp, 0xc
push 1
push 0
mov eax, dword [ebp + 0x10]
push dword [eax + 0x20]
call fcn.00437c88
add esp, 0xc
xorps xmm0, xmm0
movlpd qword [ebp - 0x9f8], xmm0
push 0x104
push 0
lea eax, [ebp - 0x218]
push eax
call fcn.0064a480
add esp, 0xc
push 0
push 0x24
lea eax, [ebp - 0x218]
push eax
push 0
call fcn.00430cfa
add esp, 0x10
push 0x68c168
lea eax, [ebp - 0xbe4]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xbdc], eax
mov eax, dword [ebp - 0xbdc]
mov dword [ebp - 0xbe0], eax
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp - 0xbe0]
call fcn.004e0c90
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00430f3d
pop ecx
pop ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xbe4]
call fcn.004e0a9e
lea eax, [ebp - 0x218]
push eax
call fcn.00430c2f
pop ecx
test eax, eax
je 0x4109eb
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xcfc], esp
lea eax, [ebp - 0x218]
push eax
call fcn.004e18af
mov ecx, dword [ebp - 0x9e0]
call fcn.00411f44
mov dword [ebp - 0xbe8], eax
mov eax, dword [ebp - 0xbe8]
xor ecx, ecx
mov dword [ebp - 0x9f8], eax
mov dword [ebp - 0x9f4], ecx
mov eax, dword [ebp - 0x9e8]
add eax, dword [ebp - 0x9f8]
mov ecx, dword [ebp - 0x9e4]
adc ecx, dword [ebp - 0x9f4]
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9e4], ecx
push 0x104
push 0
lea eax, [ebp - 0x218]
push eax
call fcn.0064a480
add esp, 0xc
push 0
push 0x24
lea eax, [ebp - 0x218]
push eax
push 0
call fcn.00430cfa
add esp, 0x10
push 0x68c104
lea eax, [ebp - 0xbf4]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xbec], eax
mov eax, dword [ebp - 0xbec]
mov dword [ebp - 0xbf0], eax
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0xbf0]
call fcn.004e0c90
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00430f3d
pop ecx
pop ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xbf4]
call fcn.004e0a9e
lea eax, [ebp - 0x218]
push eax
call fcn.00430c2f
pop ecx
test eax, eax
je 0x410af1
push 1
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xd00], esp
lea eax, [ebp - 0x218]
push eax
call fcn.004e18af
mov ecx, dword [ebp - 0x9e0]
call fcn.00411b09
mov dword [ebp - 0xca0], eax
mov dword [ebp - 0xc9c], edx
mov eax, dword [ebp - 0x9f8]
add eax, dword [ebp - 0xca0]
mov ecx, dword [ebp - 0x9f4]
adc ecx, dword [ebp - 0xc9c]
mov dword [ebp - 0x9f8], eax
mov dword [ebp - 0x9f4], ecx
mov eax, dword [ebp - 0x9e8]
add eax, dword [ebp - 0x9f8]
mov ecx, dword [ebp - 0x9e4]
adc ecx, dword [ebp - 0x9f4]
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9e4], ecx
push 0x104
push 0
lea eax, [ebp - 0x218]
push eax
call fcn.0064a480
add esp, 0xc
push 0
push 0x23
lea eax, [ebp - 0x218]
push eax
push 0
call fcn.00430cfa
add esp, 0x10
push 0x68c180
lea eax, [ebp - 0xc00]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xbf8], eax
mov eax, dword [ebp - 0xbf8]
mov dword [ebp - 0xbfc], eax
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0xbfc]
call fcn.004e0c90
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00430f3d
pop ecx
pop ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc00]
call fcn.004e0a9e
lea eax, [ebp - 0x218]
push eax
call fcn.00430c2f
pop ecx
test eax, eax
je 0x410c61
push 1
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xd04], esp
lea eax, [ebp - 0x218]
push eax
call fcn.004e18af
mov ecx, dword [ebp - 0x9e0]
call fcn.00411704
mov dword [ebp - 0xca8], eax
mov dword [ebp - 0xca4], edx
mov eax, dword [ebp - 0x9f8]
add eax, dword [ebp - 0xca8]
mov ecx, dword [ebp - 0x9f4]
adc ecx, dword [ebp - 0xca4]
mov dword [ebp - 0x9f8], eax
mov dword [ebp - 0x9f4], ecx
push 0x104
push 0
lea eax, [ebp - 0x218]
push eax
call fcn.0064a480
add esp, 0xc
push 0
push 0x28
lea eax, [ebp - 0x218]
push eax
push 0
call fcn.00430cfa
add esp, 0x10
push 0x68c1b0
lea eax, [ebp - 0xc0c]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xc04], eax
mov eax, dword [ebp - 0xc04]
mov dword [ebp - 0xc08], eax
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0xc08]
call fcn.004e0c90
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00430f3d
pop ecx
pop ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc0c]
call fcn.004e0a9e
lea eax, [ebp - 0x218]
push eax
call fcn.00430c2f
pop ecx
mov eax, dword [ebp - 0x9f8]
or eax, dword [ebp - 0x9f4]
je 0x410cbd
push 0
push 0x68c1fc
lea eax, [ebp - 0xc14]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xc10], eax
mov eax, dword [ebp - 0x9dc]
or eax, 0x40
mov dword [ebp - 0x9dc], eax
mov ecx, dword [ebp - 0xc10]
call fcn.004e0c90
push eax
lea ecx, [ebp + 0x18]
call fcn.004e4014
test eax, eax
jge 0x410cbd
mov dword [ebp - 0xa50], 1
jmp 0x410cc4
and dword [ebp - 0xa50], 0
mov al, byte [ebp - 0xa50]
mov byte [ebp - 0x9fd], al
mov eax, dword [ebp - 0x9dc]
and eax, 0x40
je 0x410ced
and dword [ebp - 0x9dc], 0xffffffbf
lea ecx, [ebp - 0xc14]
call fcn.004e0a9e
movzx eax, byte [ebp - 0x9fd]
test eax, eax
je 0x410db4
lea ecx, [ebp - 0x9d0]
call fcn.004e58a0
mov byte [ebp - 4], 0x34
push 0x68c210
lea eax, [ebp - 0xc20]
push eax
call fcn.0041cba3
pop ecx
pop ecx
mov dword [ebp - 0xc18], eax
mov eax, dword [ebp - 0xc18]
mov dword [ebp - 0xc1c], eax
mov byte [ebp - 4], 0x35
mov ecx, dword [ebp - 0xc1c]
call fcn.004e0c90
push eax
lea ecx, [ebp - 0x9d0]
call fcn.004e59b1
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0xc20]
call fcn.004e0a9e
mov eax, dword [ebp - 0x9f8]
mov dword [ebp - 0x9a0], eax
mov eax, dword [ebp - 0x9f4]
mov dword [ebp - 0x99c], eax
lea eax, [ebp - 0x9d0]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.004e5c9a
mov eax, dword [ebp - 0x9e8]
add eax, dword [ebp - 0x9f8]
mov ecx, dword [ebp - 0x9e4]
adc ecx, dword [ebp - 0x9f4]
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9e4], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x9d0]
call fcn.004e58bf
push 0
mov ecx, dword [ebp - 0x9e0]
call fcn.004131c4
test eax, eax
je 0x410dd0
mov ecx, dword [ebp - 0x9e0]
call fcn.0041320e
push 0x1f4
call fcn.00433942
pop ecx
mov eax, dword [ebp - 0x9e8]
mov dword [ebp - 0xcb0], eax
mov eax, dword [ebp - 0x9e4]
mov dword [ebp - 0xcac], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x18]
call fcn.004e0a9e
mov eax, dword [ebp - 0xcb0]
mov edx, dword [ebp - 0xcac]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.006486fb
leave
ret 0x14