Function at 0x414190
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x63427f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xeac
push esi
mov dword [ebp - 0xc74], ecx
mov dword [ebp - 0xc70], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
mov eax, 1
test eax, eax
je 0x41621f
push 0x65ba84
lea ecx, [ebp - 0xa88]
push ecx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xc78], eax
mov edx, dword [ebp - 0xc78]
mov dword [ebp - 0xc7c], edx
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0xc7c]
call fcn.00404a70
push eax
mov eax, dword [ebp + 0x10]
mov edx, dword [eax]
mov ecx, dword [ebp + 0x10]
mov eax, dword [edx + 0x170]
call eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xa88]
call fcn.00404a50
push 1
push 0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x20]
push edx
call fcn.004494e0
add esp, 0xc
push 1
push 0
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x20]
push ecx
call fcn.004494e0
add esp, 0xc
mov byte [ebp - 0x65c], 0
push 0x103
push 0
lea edx, [ebp - 0x65b]
push edx
call fcn.0061b420
add esp, 0xc
mov dword [ebp - 0x130], 0
mov byte [ebp - 0x764], 0
push 0x103
push 0
lea eax, [ebp - 0x763]
push eax
call fcn.0061b420
add esp, 0xc
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x12c], 0
mov byte [ebp - 0x124], 0
push 0x103
push 0
lea ecx, [ebp - 0x123]
push ecx
call fcn.0061b420
add esp, 0xc
push 0
push 0x1a
lea edx, [ebp - 0x65c]
push edx
push 0
call fcn.00443860
add esp, 0x10
push 0x65ba60
lea eax, [ebp - 0xa8c]
push eax
call fcn.00425030
add esp, 8
mov dword [ebp - 0xc80], eax
mov ecx, dword [ebp - 0xc80]
mov dword [ebp - 0xc84], ecx
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0xc84]
call fcn.0040e830
push eax
lea edx, [ebp - 0x65c]
push edx
call fcn.00444360
add esp, 8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xa8c]
call fcn.0040e840
lea eax, [ebp - 0x65c]
push eax
call fcn.0061c610
add esp, 4
push eax
lea ecx, [ebp - 0x65c]
push ecx
lea edx, [ebp - 0x764]
push edx
call fcn.0061baa0
add esp, 0xc
push 0x65ba44
lea eax, [ebp - 0xa90]
push eax
call fcn.00425030
add esp, 8
mov dword [ebp - 0xc88], eax
mov ecx, dword [ebp - 0xc88]
mov dword [ebp - 0xc8c], ecx
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0xc8c]
call fcn.0040e830
push eax
lea edx, [ebp - 0x65c]
push edx
call fcn.00444360
add esp, 8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xa90]
call fcn.0040e840
lea eax, [ebp - 0x65c]
push eax
call fcn.00444710
add esp, 4
test eax, eax
je 0x414416
push 0
push 0x65ba2c
lea ecx, [ebp - 0xa98]
push ecx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xc90], eax
mov edx, dword [ebp - 0xc70]
or edx, 1
mov dword [ebp - 0xc70], edx
mov ecx, dword [ebp - 0xc90]
call fcn.00404a70
push eax
lea ecx, [ebp + 0x18]
call fcn.0040e7b0
test eax, eax
jge 0x414416
mov dword [ebp - 0xc94], 1
jmp 0x414420
mov dword [ebp - 0xc94], 0
mov al, byte [ebp - 0xc94]
mov byte [ebp - 0xa91], al
mov ecx, dword [ebp - 0xc70]
and ecx, 1
je 0x414449
and dword [ebp - 0xc70], 0xfffffffe
lea ecx, [ebp - 0xa98]
call fcn.00404a50
movzx edx, byte [ebp - 0xa91]
test edx, edx
je 0x414916
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x65c]
push ecx
mov ecx, dword [ebp - 0xc74]
call fcn.00416260
mov dword [ebp - 0x768], eax
cmp dword [ebp - 0x768], 0
jl 0x414916
push 0x65ba1c
lea edx, [ebp - 0xa9c]
push edx
call fcn.00425030
add esp, 8
mov dword [ebp - 0xc98], eax
mov eax, dword [ebp - 0xc98]
mov dword [ebp - 0xc9c], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xc9c]
call fcn.0040e830
push eax
mov ecx, dword [ebp - 0x130]
push ecx
call fcn.00418880
add esp, 8
mov dword [ebp - 0x128], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xa9c]
call fcn.0040e840
cmp dword [ebp - 0x128], 0
je 0x414916
push 0x65ba1c
lea edx, [ebp - 0xaa0]
push edx
call fcn.00425030
add esp, 8
mov dword [ebp - 0xca0], eax
mov ecx, dword [ebp - 0xca0]
call fcn.0040e830
push eax
call fcn.0061c610
add esp, 4
add eax, dword [ebp - 0x128]
mov dword [ebp - 0x128], eax
lea ecx, [ebp - 0xaa0]
call fcn.0040e840
push 0x65ba08
lea eax, [ebp - 0xaa4]
push eax
call fcn.00425030
add esp, 8
mov dword [ebp - 0xca4], eax
mov ecx, dword [ebp - 0xca4]
mov dword [ebp - 0xca8], ecx
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0xca8]
call fcn.0040e830
push eax
mov edx, dword [ebp - 0x128]
push edx
call fcn.00418880
add esp, 8
mov dword [ebp - 0x12c], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xaa4]
call fcn.0040e840
cmp dword [ebp - 0x12c], 0
je 0x414916
push 0x65ba08
lea eax, [ebp - 0xaa8]
push eax
call fcn.00425030
add esp, 8
mov dword [ebp - 0xcac], eax
mov ecx, dword [ebp - 0xcac]
call fcn.0040e830
push eax
call fcn.0061c610
add esp, 4
add eax, dword [ebp - 0x12c]
mov dword [ebp - 0x12c], eax
lea ecx, [ebp - 0xaa8]
call fcn.0040e840
mov ecx, dword [ebp - 0x12c]
mov byte [ecx], 0
mov dword [ebp - 0x87c], 0
lea edx, [ebp - 0x87c]
push edx
push 0x65ba04
mov eax, dword [ebp - 0x128]
push eax
call fcn.0061c834
add esp, 0xc
mov dword [ebp - 0x878], eax
cmp dword [ebp - 0x878], 0
je 0x414668
mov ecx, dword [ebp - 0x878]
push ecx
lea edx, [ebp - 0x764]
push edx
call fcn.00444360
add esp, 8
mov eax, dword [ebp - 0x878]
push eax
push 0x104
lea ecx, [ebp - 0x124]
push ecx
call fcn.0061c7d5
add esp, 0xc
lea edx, [ebp - 0x87c]
push edx
push 0x65ba04
push 0
call fcn.0061c834
add esp, 0xc
mov dword [ebp - 0x878], eax
jmp 0x414610
mov eax, dword [ebp - 0x130]
push eax
call fcn.0061c3eb
add esp, 4
mov byte [ebp - 0x874], 0
push 0x103
push 0
lea ecx, [ebp - 0x873]
push ecx
call fcn.0061b420
add esp, 0xc
push 0
push 0x1c
lea edx, [ebp - 0x874]
push edx
push 0
call fcn.00443860
add esp, 0x10
push 0x65b9d0
lea eax, [ebp - 0xaac]
push eax
call fcn.00425030
add esp, 8
mov dword [ebp - 0xcb0], eax
mov ecx, dword [ebp - 0xcb0]
mov dword [ebp - 0xcb4], ecx
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0xcb4]
call fcn.0040e830
push eax
lea edx, [ebp - 0x874]
push edx
call fcn.00444360
add esp, 8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xaac]
call fcn.0040e840
lea eax, [ebp - 0x124]
push eax
lea ecx, [ebp - 0x874]
push ecx
call fcn.00444360
add esp, 8
push 0x65b9c0
lea edx, [ebp - 0xab0]
push edx
call fcn.00425030
add esp, 8
mov dword [ebp - 0xcb8], eax
mov eax, dword [ebp - 0xcb8]
mov dword [ebp - 0xcbc], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0xcbc]
call fcn.0040e830
push eax
lea ecx, [ebp - 0x874]
push ecx
call fcn.00444360
add esp, 8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xab0]
call fcn.0040e840
lea edx, [ebp - 0x874]
push edx
call fcn.00444710
add esp, 4
test eax, eax
je 0x414916
lea eax, [ebp - 0x874]
push eax
lea ecx, [ebp - 0xacc]
call fcn.0040bea0
mov byte [ebp - 4], 8
push 0
lea ecx, [ebp - 0xacc]
push ecx
lea edx, [ebp - 0x8a0]
push edx
call fcn.004140b0
add esp, 0xc
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xacc]
call fcn.0040bf10
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xad0], esp
push 0x65a5a8
call fcn.00408a30
mov dword [ebp - 0xcc0], eax
mov eax, dword [ebp - 0xcc0]
mov dword [ebp - 0xcc4], eax
mov byte [ebp - 4], 0xb
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xad4], esp
lea edx, [ebp - 0x8a0]
push edx
call fcn.004089b0
mov dword [ebp - 0xcc8], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0xc74]
call fcn.00416360
mov dword [ebp - 0xcd0], eax
mov dword [ebp - 0xccc], edx
mov eax, dword [ebp - 0xcd0]
mov dword [ebp - 0x884], eax
mov ecx, dword [ebp - 0xccc]
mov dword [ebp - 0x880], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x884]
mov eax, dword [ebp - 0x10]
adc eax, dword [ebp - 0x880]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x884]
or ecx, dword [ebp - 0x880]
je 0x414907
lea ecx, [ebp - 0x8e4]
call fcn.00419bc0
mov byte [ebp - 4], 0xc
push 0x65ba84
lea edx, [ebp - 0xad8]
push edx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xcd4], eax
mov eax, dword [ebp - 0xcd4]
mov dword [ebp - 0xcd8], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0xcd8]
call fcn.00404a70
push eax
lea ecx, [ebp - 0x8e4]
call fcn.00418a30
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xad8]
call fcn.00404a50
mov ecx, dword [ebp - 0x884]
mov dword [ebp - 0x8ac], ecx
mov edx, dword [ebp - 0x880]
mov dword [ebp - 0x8a8], edx
lea eax, [ebp - 0x8a0]
push eax
lea ecx, [ebp - 0x8c8]
call fcn.00419c90
lea ecx, [ebp - 0x8e4]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.00419060
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x8e4]
call fcn.004188a0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x8a0]
call fcn.00408aa0
push 0
mov ecx, dword [ebp - 0xc74]
call fcn.004187c0
test eax, eax
je 0x414932
mov ecx, dword [ebp - 0xc74]
call fcn.00418820
push 0x1f4
call fcn.00444980
add esp, 4
xor edx, edx
mov word [ebp - 0x544], dx
push 0x206
push 0
lea eax, [ebp - 0x542]
push eax
call fcn.0061b420
add esp, 0xc
push 0x65b98c
lea ecx, [ebp - 0xadc]
push ecx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xcdc], eax
mov edx, dword [ebp - 0xcdc]
mov dword [ebp - 0xce0], edx
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0xce0]
call fcn.00404a70
push eax
mov eax, dword [ebp + 0x10]
mov edx, dword [eax]
mov ecx, dword [ebp + 0x10]
mov eax, dword [edx + 0x170]
call eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xadc]
call fcn.00404a50
push 1
push 0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x20]
push edx
call fcn.004494e0
add esp, 0xc
push 1
push 0
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x20]
push ecx
call fcn.004494e0
add esp, 0xc
push 0x104
push 0
lea edx, [ebp - 0x544]
push edx
call fcn.0061b420
add esp, 0xc
push 0
push 0x20
lea eax, [ebp - 0x544]
push eax
push 0
call fcn.00441770
add esp, 0x10
lea ecx, [ebp - 0x544]
push ecx
call fcn.00441690
add esp, 4
test eax, eax
je 0x414a66
push 0
push 0x65b978
lea edx, [ebp - 0xae4]
push edx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xce4], eax
mov eax, dword [ebp - 0xc70]
or eax, 2
mov dword [ebp - 0xc70], eax
mov ecx, dword [ebp - 0xce4]
call fcn.00404a70
push eax
lea ecx, [ebp + 0x18]
call fcn.0040e7b0
test eax, eax
jge 0x414a66
mov dword [ebp - 0xce8], 1
jmp 0x414a70
mov dword [ebp - 0xce8], 0
mov cl, byte [ebp - 0xce8]
mov byte [ebp - 0xadd], cl
mov edx, dword [ebp - 0xc70]
and edx, 2
je 0x414a99
and dword [ebp - 0xc70], 0xfffffffd
lea ecx, [ebp - 0xae4]
call fcn.00404a50
movzx eax, byte [ebp - 0xadd]
test eax, eax
je 0x414c34
push 0x65b960
lea ecx, [ebp - 0xaec]
push ecx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xcec], eax
mov edx, dword [ebp - 0xcec]
mov dword [ebp - 0xcf0], edx
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0xcf0]
call fcn.00404a70
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xae8], esp
push eax
call fcn.00408a30
mov dword [ebp - 0xcf4], eax
mov eax, dword [ebp - 0xcf4]
mov dword [ebp - 0xcf8], eax
mov byte [ebp - 4], 0x10
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xaf0], esp
lea edx, [ebp - 0x544]
push edx
call fcn.00408a30
mov dword [ebp - 0xcfc], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0xc74]
call fcn.00416360
mov dword [ebp - 0xd04], eax
mov dword [ebp - 0xd00], edx
mov eax, dword [ebp - 0xd04]
mov dword [ebp - 0x8ec], eax
mov ecx, dword [ebp - 0xd00]
mov dword [ebp - 0x8e8], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xaec]
call fcn.00404a50
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x8ec]
mov eax, dword [ebp - 0x10]
adc eax, dword [ebp - 0x8e8]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x8ec]
or ecx, dword [ebp - 0x8e8]
je 0x414c34
lea ecx, [ebp - 0x92c]
call fcn.00419bc0
mov byte [ebp - 4], 0x11
push 0x65b98c
lea edx, [ebp - 0xaf4]
push edx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xd08], eax
mov eax, dword [ebp - 0xd08]
mov dword [ebp - 0xd0c], eax
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0xd0c]
call fcn.00404a70
push eax
lea ecx, [ebp - 0x92c]
call fcn.00418a30
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xaf4]
call fcn.00404a50
mov ecx, dword [ebp - 0x8ec]
mov dword [ebp - 0x8f4], ecx
mov edx, dword [ebp - 0x8e8]
mov dword [ebp - 0x8f0], edx
lea eax, [ebp - 0x544]
push eax
lea ecx, [ebp - 0x910]
call fcn.00418a30
lea ecx, [ebp - 0x92c]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.00419060
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x92c]
call fcn.004188a0
push 0
mov ecx, dword [ebp - 0xc74]
call fcn.004187c0
test eax, eax
je 0x414c50
mov ecx, dword [ebp - 0xc74]
call fcn.00418820
push 0x1f4
call fcn.00444980
add esp, 4
push 0x65b92c
lea edx, [ebp - 0xaf8]
push edx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xd10], eax
mov eax, dword [ebp - 0xd10]
mov dword [ebp - 0xd14], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0xd14]
call fcn.00404a70
push eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov ecx, dword [ebp + 0x10]
mov eax, dword [edx + 0x170]
call eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xaf8]
call fcn.00404a50
push 1
push 0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x20]
push edx
call fcn.004494e0
add esp, 0xc
push 1
push 0
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x20]
push ecx
call fcn.004494e0
add esp, 0xc
push 0x104
push 0
lea edx, [ebp - 0x544]
push edx
call fcn.0061b420
add esp, 0xc
push 0
push 0x24
lea eax, [ebp - 0x544]
push eax
push 0
call fcn.00441770
add esp, 0x10
push 0x65b92c
lea ecx, [ebp - 0xafc]
push ecx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xd18], eax
mov edx, dword [ebp - 0xd18]
mov dword [ebp - 0xd1c], edx
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0xd1c]
call fcn.00404a70
push eax
lea eax, [ebp - 0x544]
push eax
call fcn.00441a10
add esp, 8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xafc]
call fcn.00404a50
lea ecx, [ebp - 0x544]
push ecx
call fcn.00441690
add esp, 4
test eax, eax
je 0x414db9
push 0
push 0x65b914
lea edx, [ebp - 0xb04]
push edx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xd20], eax
mov eax, dword [ebp - 0xc70]
or eax, 4
mov dword [ebp - 0xc70], eax
mov ecx, dword [ebp - 0xd20]
call fcn.00404a70
push eax
lea ecx, [ebp + 0x18]
call fcn.0040e7b0
test eax, eax
jge 0x414db9
mov dword [ebp - 0xd24], 1
jmp 0x414dc3
mov dword [ebp - 0xd24], 0
mov cl, byte [ebp - 0xd24]
mov byte [ebp - 0xafd], cl
mov edx, dword [ebp - 0xc70]
and edx, 4
je 0x414dec
and dword [ebp - 0xc70], 0xfffffffb
lea ecx, [ebp - 0xb04]
call fcn.00404a50
movzx eax, byte [ebp - 0xafd]
test eax, eax
je 0x414f87
push 0x65b960
lea ecx, [ebp - 0xb0c]
push ecx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xd28], eax
mov edx, dword [ebp - 0xd28]
mov dword [ebp - 0xd2c], edx
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0xd2c]
call fcn.00404a70
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xb08], esp
push eax
call fcn.00408a30
mov dword [ebp - 0xd30], eax
mov eax, dword [ebp - 0xd30]
mov dword [ebp - 0xd34], eax
mov byte [ebp - 4], 0x16
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xb10], esp
lea edx, [ebp - 0x544]
push edx
call fcn.00408a30
mov dword [ebp - 0xd38], eax
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0xc74]
call fcn.00416360
mov dword [ebp - 0xd40], eax
mov dword [ebp - 0xd3c], edx
mov eax, dword [ebp - 0xd40]
mov dword [ebp - 0x934], eax
mov ecx, dword [ebp - 0xd3c]
mov dword [ebp - 0x930], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb0c]
call fcn.00404a50
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x934]
mov eax, dword [ebp - 0x10]
adc eax, dword [ebp - 0x930]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x934]
or ecx, dword [ebp - 0x930]
je 0x414f87
lea ecx, [ebp - 0x974]
call fcn.00419bc0
mov byte [ebp - 4], 0x17
push 0x65b8d0
lea edx, [ebp - 0xb14]
push edx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xd44], eax
mov eax, dword [ebp - 0xd44]
mov dword [ebp - 0xd48], eax
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0xd48]
call fcn.00404a70
push eax
lea ecx, [ebp - 0x974]
call fcn.00418a30
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xb14]
call fcn.00404a50
mov ecx, dword [ebp - 0x934]
mov dword [ebp - 0x93c], ecx
mov edx, dword [ebp - 0x930]
mov dword [ebp - 0x938], edx
lea eax, [ebp - 0x544]
push eax
lea ecx, [ebp - 0x958]
call fcn.00418a30
lea ecx, [ebp - 0x974]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.00419060
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x974]
call fcn.004188a0
push 0
mov ecx, dword [ebp - 0xc74]
call fcn.004187c0
test eax, eax
je 0x414fa3
mov ecx, dword [ebp - 0xc74]
call fcn.00418820
push 0x1f4
call fcn.00444980
add esp, 4
push 0x65b8b4
lea edx, [ebp - 0xb18]
push edx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xd4c], eax
mov eax, dword [ebp - 0xd4c]
mov dword [ebp - 0xd50], eax
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0xd50]
call fcn.00404a70
push eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov ecx, dword [ebp + 0x10]
mov eax, dword [edx + 0x170]
call eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb18]
call fcn.00404a50
push 1
push 0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x20]
push edx
call fcn.004494e0
add esp, 0xc
push 1
push 0
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x20]
push ecx
call fcn.004494e0
add esp, 0xc
mov dword [ebp - 0xb1c], 0x14
mov edx, dword [ebp - 0xb1c]
push edx
call fcn.00513dae
add esp, 4
mov dword [ebp - 0xb20], eax
cmp dword [ebp - 0xb20], 0
je 0x415079
mov eax, dword [ebp - 0xb1c]
push eax
push 0
mov ecx, dword [ebp - 0xb20]
push ecx
call fcn.0061b420
add esp, 0xc
mov edx, dword [ebp - 0xb20]
mov dword [ebp - 0xd54], edx
jmp 0x415083
mov dword [ebp - 0xd54], 0
mov eax, dword [ebp - 0xd54]
mov dword [ebp - 0x548], eax
mov ecx, dword [ebp - 0x548]
mov dword [ecx], 0x14
mov edx, dword [ebp - 0x548]
push edx
push 0
call fcn.004453d0
add esp, 8
mov dword [ebp - 0x550], eax
cmp dword [ebp - 0x550], 0
jne 0x41510a
push 0
push 0x65b89c
lea eax, [ebp - 0xb28]
push eax
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xd58], eax
mov ecx, dword [ebp - 0xc70]
or ecx, 8
mov dword [ebp - 0xc70], ecx
mov ecx, dword [ebp - 0xd58]
call fcn.00404a70
push eax
lea ecx, [ebp + 0x18]
call fcn.0040e7b0
test eax, eax
jge 0x41510a
mov dword [ebp - 0xd5c], 1
jmp 0x415114
mov dword [ebp - 0xd5c], 0
mov dl, byte [ebp - 0xd5c]
mov byte [ebp - 0xb21], dl
mov eax, dword [ebp - 0xc70]
and eax, 8
je 0x41513d
and dword [ebp - 0xc70], 0xfffffff7
lea ecx, [ebp - 0xb28]
call fcn.00404a50
movzx ecx, byte [ebp - 0xb21]
test ecx, ecx
je 0x41521d
mov edx, dword [ebp - 0x548]
mov dword [ebp - 0xd60], edx
mov eax, dword [ebp - 0xd60]
mov ecx, dword [ebp - 0xd60]
mov edx, dword [eax + 4]
or edx, dword [ecx + 8]
je 0x41521d
lea ecx, [ebp - 0x9b4]
call fcn.00419bc0
mov byte [ebp - 4], 0x1a
push 0x65b8b4
lea eax, [ebp - 0xb2c]
push eax
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xd64], eax
mov ecx, dword [ebp - 0xd64]
mov dword [ebp - 0xd68], ecx
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0xd68]
call fcn.00404a70
push eax
lea ecx, [ebp - 0x9b4]
call fcn.00418a30
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0xb2c]
call fcn.00404a50
mov edx, dword [ebp - 0x548]
mov eax, dword [edx + 4]
mov dword [ebp - 0x97c], eax
mov ecx, dword [edx + 8]
mov dword [ebp - 0x978], ecx
lea edx, [ebp - 0x9b4]
push edx
mov ecx, dword [ebp + 0xc]
call fcn.00419060
mov eax, dword [ebp - 0x548]
mov ecx, dword [ebp - 0x14]
add ecx, dword [eax + 4]
mov edx, dword [ebp - 0x10]
adc edx, dword [eax + 8]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x9b4]
call fcn.004188a0
cmp dword [ebp - 0x548], 0
je 0x415241
mov eax, dword [ebp - 0x548]
mov dword [ebp - 0xb30], eax
mov ecx, dword [ebp - 0xb30]
push ecx
call fcn.00513ddd
add esp, 4
push 0
mov ecx, dword [ebp - 0xc74]
call fcn.004187c0
test eax, eax
je 0x41525d
mov ecx, dword [ebp - 0xc74]
call fcn.00418820
push 0x1f4
call fcn.00444980
add esp, 4
push 0x65b878
lea edx, [ebp - 0xb34]
push edx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xd6c], eax
mov eax, dword [ebp - 0xd6c]
mov dword [ebp - 0xd70], eax
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0xd70]
call fcn.00404a70
push eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov ecx, dword [ebp + 0x10]
mov eax, dword [edx + 0x170]
call eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb34]
call fcn.00404a50
push 1
push 0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x20]
push edx
call fcn.004494e0
add esp, 0xc
push 1
push 0
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x20]
push ecx
call fcn.004494e0
add esp, 0xc
mov dword [ebp - 0x54c], 0
xor edx, edx
mov word [ebp - 0x33c], dx
push 0x206
push 0
lea eax, [ebp - 0x33a]
push eax
call fcn.0061b420
add esp, 0xc
lea ecx, [ebp - 0x33c]
push ecx
push 0x104
call fcn.00447bf0
add esp, 8
mov dword [ebp - 0x54c], eax
lea edx, [ebp - 0x33c]
push edx
call fcn.00441690
add esp, 4
test eax, eax
je 0x41538a
push 0
push 0x65b864
lea eax, [ebp - 0xb3c]
push eax
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xd74], eax
mov ecx, dword [ebp - 0xc70]
or ecx, 0x10
mov dword [ebp - 0xc70], ecx
mov ecx, dword [ebp - 0xd74]
call fcn.00404a70
push eax
lea ecx, [ebp + 0x18]
call fcn.0040e7b0
test eax, eax
jge 0x41538a
mov dword [ebp - 0xd78], 1
jmp 0x415394
mov dword [ebp - 0xd78], 0
mov dl, byte [ebp - 0xd78]
mov byte [ebp - 0xb35], dl
mov eax, dword [ebp - 0xc70]
and eax, 0x10
je 0x4153bd
and dword [ebp - 0xc70], 0xffffffef
lea ecx, [ebp - 0xb3c]
call fcn.00404a50
movzx ecx, byte [ebp - 0xb35]
test ecx, ecx
je 0x415518
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xb40], esp
push 0x65a5a8
call fcn.00408a30
mov dword [ebp - 0xd7c], eax
mov edx, dword [ebp - 0xd7c]
mov dword [ebp - 0xd80], edx
mov byte [ebp - 4], 0x1d
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xb44], esp
lea eax, [ebp - 0x33c]
push eax
call fcn.00408a30
mov dword [ebp - 0xd84], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0xc74]
call fcn.00416360
mov dword [ebp - 0xd8c], eax
mov dword [ebp - 0xd88], edx
mov ecx, dword [ebp - 0xd8c]
mov dword [ebp - 0x9bc], ecx
mov edx, dword [ebp - 0xd88]
mov dword [ebp - 0x9b8], edx
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x9bc]
mov ecx, dword [ebp - 0x10]
adc ecx, dword [ebp - 0x9b8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x9bc]
or edx, dword [ebp - 0x9b8]
je 0x415518
lea ecx, [ebp - 0x9fc]
call fcn.00419bc0
mov byte [ebp - 4], 0x1e
push 0x65b878
lea eax, [ebp - 0xb48]
push eax
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xd90], eax
mov ecx, dword [ebp - 0xd90]
mov dword [ebp - 0xd94], ecx
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0xd94]
call fcn.00404a70
push eax
lea ecx, [ebp - 0x9fc]
call fcn.00418a30
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xb48]
call fcn.00404a50
mov edx, dword [ebp - 0x9bc]
mov dword [ebp - 0x9c4], edx
mov eax, dword [ebp - 0x9b8]
mov dword [ebp - 0x9c0], eax
lea ecx, [ebp - 0x33c]
push ecx
lea ecx, [ebp - 0x9e0]
call fcn.00418a30
lea edx, [ebp - 0x9fc]
push edx
mov ecx, dword [ebp + 0xc]
call fcn.00419060
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x9fc]
call fcn.004188a0
push 0
mov ecx, dword [ebp - 0xc74]
call fcn.004187c0
test eax, eax
je 0x415534
mov ecx, dword [ebp - 0xc74]
call fcn.00418820
push 0x1f4
call fcn.00444980
add esp, 4
push 0x65b84c
lea eax, [ebp - 0xb4c]
push eax
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xd98], eax
mov ecx, dword [ebp - 0xd98]
mov dword [ebp - 0xd9c], ecx
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0xd9c]
call fcn.00404a70
push eax
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x10]
mov edx, dword [eax + 0x170]
call edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb4c]
call fcn.00404a50
push 1
push 0
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x20]
push ecx
call fcn.004494e0
add esp, 0xc
push 1
push 0
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x20]
push eax
call fcn.004494e0
add esp, 0xc
push 0x104
push 0
lea ecx, [ebp - 0x544]
push ecx
call fcn.0061b420
add esp, 0xc
push 0
push 0x24
lea edx, [ebp - 0x544]
push edx
push 0
call fcn.00441770
add esp, 0x10
lea eax, [ebp - 0x544]
push eax
call fcn.00441690
add esp, 4
test eax, eax
je 0x415649
push 0
push 0x65b834
lea ecx, [ebp - 0xb54]
push ecx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xda0], eax
mov edx, dword [ebp - 0xc70]
or edx, 0x20
mov dword [ebp - 0xc70], edx
mov ecx, dword [ebp - 0xda0]
call fcn.00404a70
push eax
lea ecx, [ebp + 0x18]
call fcn.0040e7b0
test eax, eax
jge 0x415649
mov dword [ebp - 0xda4], 1
jmp 0x415653
mov dword [ebp - 0xda4], 0
mov al, byte [ebp - 0xda4]
mov byte [ebp - 0xb4d], al
mov ecx, dword [ebp - 0xc70]
and ecx, 0x20
je 0x41567c
and dword [ebp - 0xc70], 0xffffffdf
lea ecx, [ebp - 0xb54]
call fcn.00404a50
movzx edx, byte [ebp - 0xb4d]
test edx, edx
je 0x415cc6
push 0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xb58], esp
lea eax, [ebp - 0x544]
push eax
call fcn.00408a30
mov dword [ebp - 0xda8], eax
mov ecx, dword [ebp - 0xc74]
call fcn.004166c0
mov dword [ebp - 0xdb0], eax
mov dword [ebp - 0xdac], edx
mov ecx, dword [ebp - 0xdb0]
mov dword [ebp - 0xa04], ecx
mov edx, dword [ebp - 0xdac]
mov dword [ebp - 0xa00], edx
push 1
push 0x65b808
lea eax, [ebp - 0xb60]
push eax
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xdb4], eax
mov ecx, dword [ebp - 0xdb4]
mov dword [ebp - 0xdb8], ecx
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0xdb8]
call fcn.00404a70
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0xb5c], esp
push eax
lea edx, [ebp - 0x544]
push edx
lea ecx, [ebp - 0xb7c]
call fcn.00408a30
mov dword [ebp - 0xdbc], eax
mov eax, dword [ebp - 0xdbc]
mov dword [ebp - 0xdc0], eax
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0xdc0]
push ecx
push esi
call fcn.00419090
add esp, 0xc
mov dword [ebp - 0xdc4], eax
mov ecx, dword [ebp - 0xc74]
call fcn.004166c0
mov dword [ebp - 0xdcc], eax
mov dword [ebp - 0xdc8], edx
mov edx, dword [ebp - 0xa04]
add edx, dword [ebp - 0xdcc]
mov eax, dword [ebp - 0xa00]
adc eax, dword [ebp - 0xdc8]
mov dword [ebp - 0xa04], edx
mov dword [ebp - 0xa00], eax
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0xb7c]
call fcn.00408aa0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb60]
call fcn.00404a50
push 1
push 0x65b7fc
lea ecx, [ebp - 0xb84]
push ecx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xdd0], eax
mov edx, dword [ebp - 0xdd0]
mov dword [ebp - 0xdd4], edx
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0xdd4]
call fcn.00404a70
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0xb80], esp
push eax
lea eax, [ebp - 0x544]
push eax
lea ecx, [ebp - 0xba0]
call fcn.00408a30
mov dword [ebp - 0xdd8], eax
mov ecx, dword [ebp - 0xdd8]
mov dword [ebp - 0xddc], ecx
mov byte [ebp - 4], 0x24
mov edx, dword [ebp - 0xddc]
push edx
push esi
call fcn.00419090
add esp, 0xc
mov dword [ebp - 0xde0], eax
mov ecx, dword [ebp - 0xc74]
call fcn.004166c0
mov dword [ebp - 0xde8], eax
mov dword [ebp - 0xde4], edx
mov eax, dword [ebp - 0xa04]
add eax, dword [ebp - 0xde8]
mov ecx, dword [ebp - 0xa00]
adc ecx, dword [ebp - 0xde4]
mov dword [ebp - 0xa04], eax
mov dword [ebp - 0xa00], ecx
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0xba0]
call fcn.00408aa0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb84]
call fcn.00404a50
push 1
push 0x65b7dc
lea edx, [ebp - 0xba8]
push edx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xdec], eax
mov eax, dword [ebp - 0xdec]
mov dword [ebp - 0xdf0], eax
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0xdf0]
call fcn.00404a70
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0xba4], esp
push eax
lea ecx, [ebp - 0x544]
push ecx
lea ecx, [ebp - 0xbc4]
call fcn.00408a30
mov dword [ebp - 0xdf4], eax
mov edx, dword [ebp - 0xdf4]
mov dword [ebp - 0xdf8], edx
mov byte [ebp - 4], 0x26
mov eax, dword [ebp - 0xdf8]
push eax
push esi
call fcn.00419090
add esp, 0xc
mov dword [ebp - 0xdfc], eax
mov ecx, dword [ebp - 0xc74]
call fcn.004166c0
mov dword [ebp - 0xe04], eax
mov dword [ebp - 0xe00], edx
mov ecx, dword [ebp - 0xa04]
add ecx, dword [ebp - 0xe04]
mov edx, dword [ebp - 0xa00]
adc edx, dword [ebp - 0xe00]
mov dword [ebp - 0xa04], ecx
mov dword [ebp - 0xa00], edx
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0xbc4]
call fcn.00408aa0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xba8]
call fcn.00404a50
push 1
push 0x65b7cc
lea eax, [ebp - 0xbcc]
push eax
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xe08], eax
mov ecx, dword [ebp - 0xe08]
mov dword [ebp - 0xe0c], ecx
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0xe0c]
call fcn.00404a70
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0xbc8], esp
push eax
lea edx, [ebp - 0x544]
push edx
lea ecx, [ebp - 0xbe8]
call fcn.00408a30
mov dword [ebp - 0xe10], eax
mov eax, dword [ebp - 0xe10]
mov dword [ebp - 0xe14], eax
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0xe14]
push ecx
push esi
call fcn.00419090
add esp, 0xc
mov dword [ebp - 0xe18], eax
mov ecx, dword [ebp - 0xc74]
call fcn.004166c0
mov dword [ebp - 0xe20], eax
mov dword [ebp - 0xe1c], edx
mov edx, dword [ebp - 0xa04]
add edx, dword [ebp - 0xe20]
mov eax, dword [ebp - 0xa00]
adc eax, dword [ebp - 0xe1c]
mov dword [ebp - 0xa04], edx
mov dword [ebp - 0xa00], eax
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0xbe8]
call fcn.00408aa0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xbcc]
call fcn.00404a50
push 1
push 0x65b7bc
lea ecx, [ebp - 0xbf0]
push ecx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xe24], eax
mov edx, dword [ebp - 0xe24]
mov dword [ebp - 0xe28], edx
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0xe28]
call fcn.00404a70
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0xbec], esp
push eax
lea eax, [ebp - 0x544]
push eax
lea ecx, [ebp - 0xc0c]
call fcn.00408a30
mov dword [ebp - 0xe2c], eax
mov ecx, dword [ebp - 0xe2c]
mov dword [ebp - 0xe30], ecx
mov byte [ebp - 4], 0x2a
mov edx, dword [ebp - 0xe30]
push edx
push esi
call fcn.00419090
add esp, 0xc
mov dword [ebp - 0xe34], eax
mov ecx, dword [ebp - 0xc74]
call fcn.004166c0
mov dword [ebp - 0xe3c], eax
mov dword [ebp - 0xe38], edx
mov eax, dword [ebp - 0xa04]
add eax, dword [ebp - 0xe3c]
mov ecx, dword [ebp - 0xa00]
adc ecx, dword [ebp - 0xe38]
mov dword [ebp - 0xa04], eax
mov dword [ebp - 0xa00], ecx
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xc0c]
call fcn.00408aa0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xbf0]
call fcn.00404a50
push 1
push 0x65b7a4
lea edx, [ebp - 0xc14]
push edx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xe40], eax
mov eax, dword [ebp - 0xe40]
mov dword [ebp - 0xe44], eax
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0xe44]
call fcn.00404a70
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0xc10], esp
push eax
lea ecx, [ebp - 0x544]
push ecx
lea ecx, [ebp - 0xc30]
call fcn.00408a30
mov dword [ebp - 0xe48], eax
mov edx, dword [ebp - 0xe48]
mov dword [ebp - 0xe4c], edx
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0xe4c]
push eax
push esi
call fcn.00419090
add esp, 0xc
mov dword [ebp - 0xe50], eax
mov ecx, dword [ebp - 0xc74]
call fcn.004166c0
mov dword [ebp - 0xe58], eax
mov dword [ebp - 0xe54], edx
mov ecx, dword [ebp - 0xa04]
add ecx, dword [ebp - 0xe58]
mov edx, dword [ebp - 0xa00]
adc edx, dword [ebp - 0xe54]
mov dword [ebp - 0xa04], ecx
mov dword [ebp - 0xa00], edx
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0xc30]
call fcn.00408aa0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc14]
call fcn.00404a50
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0xa04]
mov ecx, dword [ebp - 0x10]
adc ecx, dword [ebp - 0xa00]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0xa04]
or edx, dword [ebp - 0xa00]
je 0x415cc6
lea ecx, [ebp - 0xa44]
call fcn.00419bc0
mov byte [ebp - 4], 0x2d
push 0x65b790
lea eax, [ebp - 0xc34]
push eax
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xe5c], eax
mov ecx, dword [ebp - 0xe5c]
mov dword [ebp - 0xe60], ecx
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0xe60]
call fcn.00404a70
push eax
lea ecx, [ebp - 0xa44]
call fcn.00418a30
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0xc34]
call fcn.00404a50
mov edx, dword [ebp - 0xa04]
mov dword [ebp - 0xa0c], edx
mov eax, dword [ebp - 0xa00]
mov dword [ebp - 0xa08], eax
lea ecx, [ebp - 0x544]
push ecx
lea ecx, [ebp - 0xa28]
call fcn.00418a30
lea edx, [ebp - 0xa44]
push edx
mov ecx, dword [ebp + 0xc]
call fcn.00419060
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xa44]
call fcn.004188a0
push 0
mov ecx, dword [ebp - 0xc74]
call fcn.004187c0
test eax, eax
je 0x415ce2
mov ecx, dword [ebp - 0xc74]
call fcn.00418820
push 0x1f4
call fcn.00444980
add esp, 4
push 0x65b740
lea eax, [ebp - 0xc38]
push eax
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xe64], eax
mov ecx, dword [ebp - 0xe64]
mov dword [ebp - 0xe68], ecx
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0xe68]
call fcn.00404a70
push eax
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x10]
mov edx, dword [eax + 0x170]
call edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc38]
call fcn.00404a50
push 1
push 0
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x20]
push ecx
call fcn.004494e0
add esp, 0xc
push 1
push 0
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x20]
push eax
call fcn.004494e0
add esp, 0xc
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
push 0x104
push 0
lea ecx, [ebp - 0x544]
push ecx
call fcn.0061b420
add esp, 0xc
push 0
push 0x24
lea edx, [ebp - 0x544]
push edx
push 0
call fcn.00441770
add esp, 0x10
push 0x65b728
lea eax, [ebp - 0xc3c]
push eax
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xe6c], eax
mov ecx, dword [ebp - 0xe6c]
mov dword [ebp - 0xe70], ecx
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp - 0xe70]
call fcn.00404a70
push eax
lea edx, [ebp - 0x544]
push edx
call fcn.00441a10
add esp, 8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc3c]
call fcn.00404a50
lea eax, [ebp - 0x544]
push eax
call fcn.00441690
add esp, 4
test eax, eax
je 0x415e58
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xc40], esp
lea edx, [ebp - 0x544]
push edx
call fcn.00408a30
mov dword [ebp - 0xe74], eax
mov ecx, dword [ebp - 0xc74]
call fcn.004173d0
mov dword [ebp - 0xe78], eax
mov eax, dword [ebp - 0xe78]
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
adc eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], eax
push 0x104
push 0
lea ecx, [ebp - 0x544]
push ecx
call fcn.0061b420
add esp, 0xc
push 0
push 0x24
lea edx, [ebp - 0x544]
push edx
push 0
call fcn.00441770
add esp, 0x10
push 0x65b714
lea eax, [ebp - 0xc44]
push eax
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xe7c], eax
mov ecx, dword [ebp - 0xe7c]
mov dword [ebp - 0xe80], ecx
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0xe80]
call fcn.00404a70
push eax
lea edx, [ebp - 0x544]
push edx
call fcn.00441a10
add esp, 8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc44]
call fcn.00404a50
lea eax, [ebp - 0x544]
push eax
call fcn.00441690
add esp, 4
test eax, eax
je 0x415f4a
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xc48], esp
lea edx, [ebp - 0x544]
push edx
call fcn.00408a30
mov dword [ebp - 0xe84], eax
mov ecx, dword [ebp - 0xc74]
call fcn.00416f80
mov dword [ebp - 0xe8c], eax
mov dword [ebp - 0xe88], edx
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0xe8c]
mov ecx, dword [ebp - 0x18]
adc ecx, dword [ebp - 0xe88]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
adc eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], eax
push 0x104
push 0
lea ecx, [ebp - 0x544]
push ecx
call fcn.0061b420
add esp, 0xc
push 0
push 0x23
lea edx, [ebp - 0x544]
push edx
push 0
call fcn.00441770
add esp, 0x10
push 0x65b6e4
lea eax, [ebp - 0xc4c]
push eax
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xe90], eax
mov ecx, dword [ebp - 0xe90]
mov dword [ebp - 0xe94], ecx
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0xe94]
call fcn.00404a70
push eax
lea edx, [ebp - 0x544]
push edx
call fcn.00441a10
add esp, 8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc4c]
call fcn.00404a50
lea eax, [ebp - 0x544]
push eax
call fcn.00441690
add esp, 4
test eax, eax
je 0x4160bc
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xc50], esp
lea edx, [ebp - 0x544]
push edx
call fcn.00408a30
mov dword [ebp - 0xe98], eax
mov ecx, dword [ebp - 0xc74]
call fcn.00416b70
mov dword [ebp - 0xea0], eax
mov dword [ebp - 0xe9c], edx
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0xea0]
mov ecx, dword [ebp - 0x18]
adc ecx, dword [ebp - 0xe9c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
push 0x104
push 0
lea edx, [ebp - 0x544]
push edx
call fcn.0061b420
add esp, 0xc
push 0
push 0x28
lea eax, [ebp - 0x544]
push eax
push 0
call fcn.00441770
add esp, 0x10
push 0x65b698
lea ecx, [ebp - 0xc54]
push ecx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xea4], eax
mov edx, dword [ebp - 0xea4]
mov dword [ebp - 0xea8], edx
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0xea8]
call fcn.00404a70
push eax
lea eax, [ebp - 0x544]
push eax
call fcn.00441a10
add esp, 8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc54]
call fcn.00404a50
lea ecx, [ebp - 0x544]
push ecx
call fcn.00441690
add esp, 4
mov edx, dword [ebp - 0x1c]
or edx, dword [ebp - 0x18]
je 0x416113
push 0
push 0x65b680
lea eax, [ebp - 0xc5c]
push eax
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xeac], eax
mov ecx, dword [ebp - 0xc70]
or ecx, 0x40
mov dword [ebp - 0xc70], ecx
mov ecx, dword [ebp - 0xeac]
call fcn.00404a70
push eax
lea ecx, [ebp + 0x18]
call fcn.0040e7b0
test eax, eax
jge 0x416113
mov dword [ebp - 0xeb0], 1
jmp 0x41611d
mov dword [ebp - 0xeb0], 0
mov dl, byte [ebp - 0xeb0]
mov byte [ebp - 0xc55], dl
mov eax, dword [ebp - 0xc70]
and eax, 0x40
je 0x416146
and dword [ebp - 0xc70], 0xffffffbf
lea ecx, [ebp - 0xc5c]
call fcn.00404a50
movzx ecx, byte [ebp - 0xc55]
test ecx, ecx
je 0x4161f6
lea ecx, [ebp - 0xa84]
call fcn.00419bc0
mov byte [ebp - 4], 0x34
push 0x65b740
lea edx, [ebp - 0xc60]
push edx
call fcn.004255b0
add esp, 8
mov dword [ebp - 0xeb4], eax
mov eax, dword [ebp - 0xeb4]
mov dword [ebp - 0xeb8], eax
mov byte [ebp - 4], 0x35
mov ecx, dword [ebp - 0xeb8]
call fcn.00404a70
push eax
lea ecx, [ebp - 0xa84]
call fcn.00418a30
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0xc60]
call fcn.00404a50
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0xa4c], ecx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0xa48], edx
lea eax, [ebp - 0xa84]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.00419060
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
adc edx, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xa84]
call fcn.004188a0
push 0
mov ecx, dword [ebp - 0xc74]
call fcn.004187c0
test eax, eax
je 0x416212
mov ecx, dword [ebp - 0xc74]
call fcn.00418820
push 0x1f4
call fcn.00444980
add esp, 4
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc6c], eax
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0xc68], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x18]
call fcn.00404a50
mov eax, dword [ebp - 0xc6c]
mov edx, dword [ebp - 0xc68]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 0x14