Function at 0x41245a
Capabilities:
Contain obfuscated stackstrings
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x440491
call fcn.0043e95c
sub esp, 0x378
push ebx
push ebp
xor eax, eax
mov ebx, ecx
mov dword [esp + 0x20], eax
and dword [esp + 0x14], 0xfffffe00
push esi
push edi
mov ebp, edx
mov dword [ebx + 0x8c], eax
mov dword [esp + 0x20], eax
lea eax, [esp + 0x14]
push eax
lea ecx, [ebx + 0x78]
mov dword [esp + 0x394], 1
call fcn.0040fd3d
or dword [esp + 0x390], 0xffffffff
lea ecx, [esp + 0x14]
call fcn.0040fcc4
mov edi, dword [esp + 0x39c]
xor ecx, ecx
mov eax, dword [edi]
mov dword [ebx + 0x88], eax
lea eax, [ebx + 0x48]
cmp dword [eax + 0x14], 0x10
mov dword [eax + 0x10], ecx
jb 0x4124d2
mov eax, dword [eax]
mov byte [eax], cl
lea eax, [ebx + 0x60]
cmp dword [eax + 0x14], 0x10
mov dword [eax + 0x10], ecx
jb 0x4124e2
mov eax, dword [eax]
mov esi, dword [esp + 0x3a0]
mov byte [eax], cl
mov eax, esi
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x3a4]
or eax, esi
mov dword [esp + 0x60], esi
jne 0x41250f
call fcn.0041ea5f
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edx
xor ecx, ecx
mov dword [esp + 0xd0], 0xf
mov dword [esp + 0xcc], ecx
mov byte [esp + 0xbc], cl
push 1
push ecx
lea eax, [esp + 0x2c]
mov dword [esp + 0x398], 2
push eax
mov ecx, ebp
mov byte [esp + 0x30], 0x2f
call fcn.0040ab78
mov dword [esp + 0x28], eax
cmp eax, 0xffffffff
je 0x41259b
push eax
push 0
lea eax, [esp + 0x4c]
push eax
mov ecx, ebp
call fcn.0040a90a
lea ecx, [ebx + 0x18]
push eax
call fcn.0040240a
lea ecx, [esp + 0x44]
call fcn.00402440
push 0xffffffffffffffff
push dword [esp + 0x2c]
lea eax, [esp + 0x4c]
push eax
mov ecx, ebp
call fcn.0040a90a
push eax
lea ecx, [esp + 0xc0]
call fcn.0040240a
lea ecx, [esp + 0x44]
call fcn.00402440
jmp 0x4125c2
push 0xffffffffffffffff
push 0
lea ecx, [ebx + 0x18]
push ebp
call fcn.004027dc
mov esi, 0x45ff08
push esi
call fcn.004010b1
pop ecx
push eax
push esi
lea ecx, [esp + 0xc4]
call fcn.00402b92
push 7
lea ecx, [esp + 0xf0]
call fcn.0040fae0
push 7
lea ecx, [esp + 0x140]
mov byte [esp + 0x394], 3
call fcn.0040fae0
push 7
lea ecx, [esp + 0x168]
mov byte [esp + 0x394], 4
call fcn.0040fae0
push 7
lea ecx, [esp + 0x2c0]
mov byte [esp + 0x394], 5
call fcn.0040fae0
push ecx
push 0x45ff0c
lea ecx, [esp + 0xf4]
mov byte [esp + 0x398], 6
call fcn.00410296
push ecx
push 0x45ff20
lea ecx, [esp + 0x144]
mov ebp, eax
call fcn.00410296
and dword [esp + 0xe4], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0xe8], 0xf
mov byte [esp + 0xd4], 0
lea ecx, [esp + 0x2d0]
mov byte [esp + 0x390], 7
call fcn.00420067
mov edx, eax
lea ecx, [esp + 0x300]
mov byte [esp + 0x390], 8
call fcn.0041e659
push 9
pop ecx
mov byte [esp + 0x390], cl
mov edx, eax
lea ecx, [esp + 0x124]
call fcn.004082c0
push 0
push 1
lea ecx, [esp + 0x308]
call fcn.00402b12
push 0
push 1
lea ecx, [esp + 0x2d8]
mov byte [esp + 0x398], 0xc
call fcn.00402b12
push 0xffffffffffffffff
push ecx
lea ecx, [esp + 0x12c]
call fcn.00414e49
mov esi, eax
cmp esi, 0xffffffff
je 0x41272a
test esi, esi
je 0x41272a
lea ecx, [esi - 1]
push ecx
push ecx
lea ecx, [esp + 0x12c]
call fcn.00414e49
push 0xffffffffffffffff
lea ecx, [esp + 0x128]
cmp eax, 0xffffffff
je 0x412705
push eax
jmp 0x412706
push esi
lea eax, [esp + 0x4c]
push eax
call fcn.0040a90a
push eax
lea ecx, [esp + 0xd8]
call fcn.0040240a
lea ecx, [esp + 0x44]
call fcn.00402440
xor esi, esi
jmp 0x412743
push 0xffffffffffffffff
xor esi, esi
push esi
lea eax, [esp + 0x12c]
push eax
lea ecx, [esp + 0xe0]
call fcn.004027dc
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x45ff38
mov ecx, ebp
mov byte [esp + 0x3a0], 0xd
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
push dword [esp + 0x60]
lea eax, [esp + 0x48]
push dword [esp + 0x60]
push 0x45ff54
push eax
call fcn.0041e7a9
add esp, 0x10
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0xe
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x45ff48
mov ecx, ebp
mov byte [esp + 0x3a0], 0xf
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xe
call fcn.0040fcc4
lea ecx, [esp + 0x44]
mov byte [esp + 0x390], 0xc
call fcn.00402440
push 0x45ff68
lea ecx, [esp + 0x30]
call fcn.004023bd
mov ecx, eax
mov byte [esp + 0x390], 0x10
call fcn.004082e2
mov ecx, dword [0x460950]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.004099df
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x11
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x45ff5c
mov ecx, ebp
mov byte [esp + 0x3a0], 0x12
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x11
call fcn.0040fcc4
lea ecx, [esp + 0x44]
call fcn.00402440
lea ecx, [esp + 0x2c]
mov byte [esp + 0x390], 0xc
call fcn.00402440
push 0x45ff84
lea ecx, [esp + 0x30]
call fcn.004023bd
mov ecx, eax
mov byte [esp + 0x390], 0x13
call fcn.004082e2
mov ecx, dword [0x460950]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.004099df
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x14
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x45ff74
mov ecx, ebp
mov byte [esp + 0x3a0], 0x15
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x14
call fcn.0040fcc4
lea ecx, [esp + 0x44]
call fcn.00402440
lea ecx, [esp + 0x2c]
call fcn.00402440
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], 0x10100d6
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x45ff94
mov ecx, ebp
mov byte [esp + 0x3a0], 0x16
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], 1
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x45ff9c
mov ecx, ebp
mov byte [esp + 0x3a0], 0x17
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], 1
push 0x18
pop eax
mov byte [esp + 0x390], al
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x45ffa4
mov ecx, ebp
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], 0xd6
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x45ffac
mov ecx, ebp
mov byte [esp + 0x3a0], 0x19
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov ecx, dword [0x460960]
mov eax, dword [esp + 0x1c]
imul ecx, ecx, 0x64
add ecx, dword [0x46096c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x45ffb4
mov ecx, ebp
mov byte [esp + 0x3a0], 0x1a
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov eax, dword [0x460954]
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x45ffbc
mov ecx, ebp
mov byte [esp + 0x3a0], 0x1b
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
push 9
pop eax
cmp word [0x4642f0], ax
mov eax, dword [esp + 0x1c]
sete cl
and eax, 0xffffff05
or eax, 5
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], esi
mov byte [esp + 0x14], cl
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x45ffcc
mov ecx, ebp
mov byte [esp + 0x3a0], 0x1c
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov eax, dword [0x46095c]
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x45ffd0
mov ecx, ebp
mov byte [esp + 0x3a0], 0x1d
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov eax, dword [0x460958]
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x45ffdc
mov ecx, ebp
mov byte [esp + 0x3a0], 0x1e
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
mov byte [esp + 0x390], 0xc
lea ecx, [esp + 0x14]
call fcn.0040fcc4
push esi
call fcn.00424467
pop ecx
mov ecx, dword [esp + 0x1c]
and ecx, 0xffffff02
or ecx, 2
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x45ffe8
mov ecx, ebp
mov byte [esp + 0x3a0], 0x1f
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov ecx, dword [0x460950]
push 0x18
mov eax, dword [ecx + 0x198]
imul eax, dword [ecx + 0x17c]
pop ecx
xor edx, edx
div ecx
mov ecx, dword [esp + 0x1c]
and ecx, 0xffffff02
or ecx, 2
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x45fff4
mov ecx, ebp
mov byte [esp + 0x3a0], 0x20
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [0x460950]
mov dword [esp + 0x20], esi
mov ecx, dword [eax + 0x1a0]
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460004
mov ecx, ebp
mov byte [esp + 0x3a0], 0x21
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
push 0x460024
lea ecx, [esp + 0x30]
call fcn.004023bd
mov ecx, eax
mov byte [esp + 0x390], 0x22
call fcn.004082e2
mov ecx, dword [0x460950]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.004099df
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x23
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460014
mov ecx, ebp
mov byte [esp + 0x3a0], 0x24
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x23
call fcn.0040fcc4
lea ecx, [esp + 0x44]
call fcn.00402440
lea ecx, [esp + 0x2c]
mov byte [esp + 0x390], 0xc
call fcn.00402440
push 0x460044
lea ecx, [esp + 0x30]
call fcn.004023bd
mov ecx, eax
mov byte [esp + 0x390], 0x25
call fcn.004082e2
mov ecx, dword [0x460950]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.004099df
push 0x26
pop ecx
mov byte [esp + 0x390], cl
push eax
lea ecx, [esp + 0x18]
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460034
mov ecx, ebp
mov byte [esp + 0x3a0], 0x27
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
push 0x26
pop eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], al
call fcn.0040fcc4
lea ecx, [esp + 0x44]
call fcn.00402440
lea ecx, [esp + 0x2c]
call fcn.00402440
mov eax, dword [0x460950]
mov dword [esp + 0x20], esi
mov ecx, dword [eax + 0x19c]
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460054
mov ecx, ebp
mov byte [esp + 0x3a0], 0x28
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
push 0x46007c
lea ecx, [esp + 0x30]
call fcn.004023bd
push ecx
mov byte [esp + 0x394], 0x29
mov ecx, dword [0x460950]
lea eax, [esp + 0x30]
push eax
lea ecx, [ecx + 0x98]
call fcn.0041da4b
mov ecx, dword [esp + 0x1c]
and ecx, 0xffffff02
or ecx, 2
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460064
mov ecx, ebp
mov byte [esp + 0x3a0], 0x2a
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x29
call fcn.0040fcc4
lea ecx, [esp + 0x2c]
call fcn.00402440
cmp dword [0x460978], 0x3000
mov eax, dword [esp + 0x1c]
sbb cl, cl
and eax, 0xffffff05
inc cl
or eax, 5
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], esi
mov byte [esp + 0x14], cl
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460080
mov ecx, ebp
mov byte [esp + 0x3a0], 0x2b
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
push 0x46009c
lea ecx, [esp + 0x30]
call fcn.004023bd
mov ecx, eax
mov byte [esp + 0x390], 0x2c
call fcn.004082e2
push eax
mov ecx, dword [0x460950]
lea eax, [esp + 0x48]
push eax
call fcn.004099df
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x2d
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x46008c
mov ecx, ebp
mov byte [esp + 0x3a0], 0x2e
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x2d
call fcn.0040fcc4
lea ecx, [esp + 0x44]
call fcn.00402440
lea ecx, [esp + 0x2c]
mov byte [esp + 0x390], 0xc
call fcn.00402440
push 0x4600bc
lea ecx, [esp + 0x30]
call fcn.004023bd
mov ecx, eax
mov byte [esp + 0x390], 0x2f
call fcn.004082e2
mov ecx, dword [0x460950]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.004099df
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x30
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x4600ac
mov ecx, ebp
mov byte [esp + 0x3a0], 0x31
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x30
call fcn.0040fcc4
lea ecx, [esp + 0x44]
call fcn.00402440
lea ecx, [esp + 0x2c]
mov byte [esp + 0x390], 0xc
call fcn.00402440
push 0x4600dc
lea ecx, [esp + 0x30]
call fcn.004023bd
mov ecx, eax
mov byte [esp + 0x390], 0x32
call fcn.004082e2
mov ecx, dword [0x460950]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.004099df
mov byte [esp + 0x390], 0x33
push eax
lea ecx, [esp + 0x18]
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x4600cc
mov ecx, ebp
mov byte [esp + 0x3a0], 0x34
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x33
call fcn.0040fcc4
lea ecx, [esp + 0x44]
call fcn.00402440
lea ecx, [esp + 0x2c]
mov byte [esp + 0x390], 0xc
call fcn.00402440
push 0x4600f8
lea ecx, [esp + 0x30]
call fcn.004023bd
mov ecx, eax
mov byte [esp + 0x390], 0x35
call fcn.004082e2
mov ecx, dword [0x460950]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.004099df
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x36
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x4600ec
mov ecx, ebp
mov byte [esp + 0x3a0], 0x37
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x36
call fcn.0040fcc4
lea ecx, [esp + 0x44]
call fcn.00402440
lea ecx, [esp + 0x2c]
mov byte [esp + 0x390], 0xc
call fcn.00402440
push 0x460108
lea ecx, [esp + 0x80]
call fcn.004023bd
mov ecx, eax
mov byte [esp + 0x390], 0x38
call fcn.004082e2
mov ecx, dword [0x460950]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.004099df
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x39
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
mov byte [esp + 0x394], 0x3a
push ecx
push ecx
push 0x4600fc
mov ecx, ebp
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x39
call fcn.0040fcc4
lea ecx, [esp + 0x44]
call fcn.00402440
lea ecx, [esp + 0x7c]
mov byte [esp + 0x390], 0xc
call fcn.00402440
push 0x46011c
lea ecx, [esp + 0x260]
call fcn.004023bd
mov ecx, eax
mov byte [esp + 0x390], 0x3b
call fcn.004082e2
mov ecx, dword [0x460950]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.004099df
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x3c
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x46010c
mov ecx, ebp
mov byte [esp + 0x3a0], 0x3d
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x3c
call fcn.0040fcc4
lea ecx, [esp + 0x44]
call fcn.00402440
lea ecx, [esp + 0x25c]
mov byte [esp + 0x390], 0xc
call fcn.00402440
push 0x460138
lea ecx, [esp + 0x290]
call fcn.004023bd
mov ecx, eax
mov byte [esp + 0x390], 0x3e
call fcn.004082e2
mov ecx, dword [0x460950]
push eax
lea eax, [esp + 0x260]
push eax
call fcn.004099df
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x3f
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x46012c
mov ecx, ebp
mov byte [esp + 0x3a0], 0x40
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x3f
call fcn.0040fcc4
lea ecx, [esp + 0x25c]
call fcn.00402440
lea ecx, [esp + 0x28c]
mov byte [esp + 0x390], 0xc
call fcn.00402440
push 0x460154
lea ecx, [esp + 0x1ac]
call fcn.004023bd
mov ecx, eax
mov byte [esp + 0x390], 0x41
call fcn.004082e2
mov ecx, dword [0x460950]
push eax
lea eax, [esp + 0x290]
push eax
call fcn.004099df
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x42
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460144
mov ecx, ebp
mov byte [esp + 0x3a0], 0x43
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x42
call fcn.0040fcc4
lea ecx, [esp + 0x28c]
call fcn.00402440
lea ecx, [esp + 0x1a8]
mov byte [esp + 0x390], 0xc
call fcn.00402440
lea eax, [esp + 0xd4]
push eax
lea ecx, [esp + 0x18]
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460164
mov ecx, ebp
mov byte [esp + 0x3a0], 0x44
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
push 0x460178
lea ecx, [esp + 0x278]
call fcn.004023bd
mov ecx, eax
mov byte [esp + 0x390], 0x45
call fcn.004082e2
mov ecx, dword [0x460950]
push eax
lea eax, [esp + 0x1ac]
push eax
call fcn.004099df
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x46
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x46016c
mov ecx, ebp
mov byte [esp + 0x3a0], 0x47
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x46
call fcn.0040fcc4
lea ecx, [esp + 0x1a8]
call fcn.00402440
lea ecx, [esp + 0x274]
mov byte [esp + 0x390], 0xc
call fcn.00402440
push 0x460194
lea ecx, [esp + 0x1e8]
call fcn.004023bd
mov ecx, eax
mov byte [esp + 0x390], 0x48
call fcn.004082e2
mov ecx, dword [0x460950]
push eax
lea eax, [esp + 0x278]
push eax
call fcn.004099df
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x49
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460184
mov ecx, ebp
mov byte [esp + 0x3a0], 0x4a
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x49
call fcn.0040fcc4
lea ecx, [esp + 0x274]
call fcn.00402440
lea ecx, [esp + 0x1e4]
mov byte [esp + 0x390], 0xc
call fcn.00402440
push 0x4601b0
lea ecx, [esp + 0x248]
call fcn.004023bd
mov ecx, eax
mov byte [esp + 0x390], 0x4b
call fcn.004082e2
mov ecx, dword [0x460950]
push eax
lea eax, [esp + 0x1e8]
push eax
call fcn.004099df
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x4c
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
mov byte [esp + 0x39c], 0x4d
push 0x4601a4
mov ecx, ebp
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x4c
call fcn.0040fcc4
lea ecx, [esp + 0x1e4]
call fcn.00402440
lea ecx, [esp + 0x244]
mov byte [esp + 0x390], 0xc
call fcn.00402440
push 0x4601c0
lea ecx, [esp + 0x218]
call fcn.004023bd
mov ecx, eax
mov byte [esp + 0x390], 0x4e
call fcn.004082e2
mov ecx, dword [0x460950]
push eax
lea eax, [esp + 0x248]
push eax
call fcn.004099df
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x4f
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x4601bc
mov ecx, ebp
mov byte [esp + 0x3a0], 0x50
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x4f
call fcn.0040fcc4
lea ecx, [esp + 0x244]
call fcn.00402440
lea ecx, [esp + 0x214]
call fcn.00402440
mov eax, dword [esp + 0x1c]
xor ecx, ecx
inc ecx
and eax, 0xffffff01
or eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x4601c4
mov ecx, ebp
mov byte [esp + 0x3a0], 0x51
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
push 0x4601e0
lea ecx, [esp + 0x194]
call fcn.004023bd
mov ecx, eax
mov byte [esp + 0x390], 0x52
call fcn.004082e2
push eax
lea eax, [esp + 0x218]
mov ecx, dword [0x460950]
push eax
call fcn.004099df
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x53
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
mov byte [esp + 0x398], 0x54
mov esi, dword [esp + 0x30]
push ecx
push 0x4601d4
mov ecx, esi
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x53
call fcn.0040fcc4
lea ecx, [esp + 0x214]
call fcn.00402440
lea ecx, [esp + 0x190]
mov byte [esp + 0x390], 0xc
call fcn.00402440
push 0x4601f0
lea ecx, [esp + 0x2ec]
call fcn.004023bd
mov ecx, eax
mov byte [esp + 0x390], 0x55
call fcn.004082e2
mov ecx, dword [0x460950]
push eax
lea eax, [esp + 0x194]
push eax
call fcn.004099df
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x56
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x4601e4
mov ecx, esi
mov byte [esp + 0x3a0], 0x57
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x56
call fcn.0040fcc4
lea ecx, [esp + 0x190]
call fcn.00402440
lea ecx, [esp + 0x2e8]
call fcn.00402440
mov eax, dword [0x460950]
mov ecx, dword [eax + 0x17c]
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
and dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
mov byte [esp + 0x39c], 0x58
push 0x4601fc
mov ecx, esi
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [0x460950]
and dword [esp + 0x20], 0
mov ecx, dword [eax + 0x180]
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460210
mov ecx, esi
mov byte [esp + 0x3a0], 0x59
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [0x460950]
and dword [esp + 0x20], 0
mov ecx, dword [eax + 0x164]
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460224
mov ecx, esi
mov byte [esp + 0x3a0], 0x5a
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [0x460950]
and dword [esp + 0x20], 0
mov ecx, dword [eax + 0x168]
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460238
mov ecx, esi
mov byte [esp + 0x3a0], 0x5b
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [0x460950]
mov ecx, dword [eax + 0x16c]
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
and dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460250
mov ecx, esi
mov byte [esp + 0x3a0], 0x5c
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [0x460950]
and dword [esp + 0x20], 0
mov ecx, dword [eax + 0x170]
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460268
mov ecx, esi
mov byte [esp + 0x3a0], 0x5d
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [0x460950]
and dword [esp + 0x20], 0
mov ecx, dword [eax + 0x174]
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460278
mov ecx, esi
mov byte [esp + 0x3a0], 0x5e
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [0x460950]
and dword [esp + 0x20], 0
mov ecx, dword [eax + 0x154]
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460288
mov ecx, esi
mov byte [esp + 0x3a0], 0x5f
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [0x460950]
and dword [esp + 0x20], 0
mov ecx, dword [eax + 0x158]
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x4602a0
mov ecx, esi
mov byte [esp + 0x3a0], 0x60
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [0x460950]
and dword [esp + 0x20], 0
mov ecx, dword [eax + 0x15c]
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x4602b8
mov ecx, esi
mov byte [esp + 0x3a0], 0x61
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [0x460950]
and dword [esp + 0x20], 0
mov ecx, dword [eax + 0x160]
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x4602d4
mov ecx, esi
mov byte [esp + 0x3a0], 0x62
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [0x460950]
mov ecx, dword [eax + 0x178]
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
and dword [esp + 0x20], 0
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x4602e4
mov ecx, esi
mov byte [esp + 0x3a0], 0x63
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [0x460950]
and dword [esp + 0x20], 0
mov ecx, dword [eax + 0x184]
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x4602f4
mov ecx, esi
mov byte [esp + 0x3a0], 0x64
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [0x460950]
and dword [esp + 0x20], 0
mov ecx, dword [eax + 0x190]
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460300
mov ecx, esi
mov byte [esp + 0x3a0], 0x65
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [0x460950]
and dword [esp + 0x20], 0
mov ecx, dword [eax + 0x188]
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x46030c
mov ecx, esi
mov byte [esp + 0x3a0], 0x66
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [0x460950]
and dword [esp + 0x20], 0
mov ecx, dword [eax + 0x18c]
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x46031c
mov ecx, esi
mov byte [esp + 0x3a0], 0x67
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [0x460950]
and dword [esp + 0x20], 0
mov ecx, dword [eax + 0x194]
mov eax, dword [esp + 0x1c]
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460330
mov ecx, esi
mov byte [esp + 0x3a0], 0x68
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [0x460950]
add eax, 0x10c
push eax
lea ecx, [esp + 0x18]
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460340
mov ecx, esi
mov byte [esp + 0x3a0], 0x69
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov edx, dword [0x460950]
lea ecx, [esp + 0x1c0]
lea edx, [edx + 0x1a4]
call fcn.0041ea8b
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x6a
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x46034c
mov ecx, esi
mov byte [esp + 0x3a0], 0x6b
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x6a
call fcn.0040fcc4
lea ecx, [esp + 0x1c0]
mov byte [esp + 0x390], 0xc
call fcn.00402440
mov edx, dword [0x460950]
lea ecx, [esp + 0x1fc]
lea edx, [edx + 0x1b0]
call fcn.0041ea8b
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x6c
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460360
mov ecx, esi
mov byte [esp + 0x3a0], 0x6d
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x6c
call fcn.0040fcc4
lea ecx, [esp + 0x1fc]
mov byte [esp + 0x390], 0xc
call fcn.00402440
mov edx, dword [0x460950]
lea ecx, [esp + 0x14c]
lea edx, [edx + 0x1bc]
call fcn.0041ea8b
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x6e
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460370
mov ecx, esi
mov byte [esp + 0x3a0], 0x6f
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x6e
call fcn.0040fcc4
lea ecx, [esp + 0x14c]
mov byte [esp + 0x390], 0xc
call fcn.00402440
mov edx, dword [0x460950]
lea ecx, [esp + 0x100]
lea edx, [edx + 0x1c8]
call fcn.0041ea8b
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x70
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460380
mov ecx, esi
mov byte [esp + 0x3a0], 0x71
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x70
call fcn.0040fcc4
lea ecx, [esp + 0x100]
mov byte [esp + 0x390], 0xc
call fcn.00402440
mov edx, dword [0x460950]
lea ecx, [esp + 0x98]
lea edx, [edx + 0x1d4]
call fcn.0041ea8b
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x72
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460390
mov ecx, esi
mov byte [esp + 0x3a0], 0x73
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x72
call fcn.0040fcc4
lea ecx, [esp + 0x98]
mov byte [esp + 0x390], 0xc
call fcn.00402440
mov edx, dword [0x460950]
add edx, 0x1e0
lea ecx, [esp + 0x64]
call fcn.0041ea8b
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x74
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x4603a0
mov ecx, esi
mov byte [esp + 0x3a0], 0x75
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x74
call fcn.0040fcc4
lea ecx, [esp + 0x64]
mov byte [esp + 0x390], 0xc
call fcn.00402440
lea ecx, [edi + 0x30]
call fcn.004104f8
test al, al
je 0x4140ec
mov edx, ecx
mov ecx, ebp
call fcn.004123d1
mov eax, dword [0x460950]
cmp dword [eax + 0x134], 0
je 0x414205
push 7
lea ecx, [esp + 0x80]
call fcn.0040fae0
and dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0xf
mov byte [esp + 0x2c], 0
lea eax, [esp + 0x2c]
push eax
mov byte [esp + 0x394], 0x77
mov edx, dword [0x460950]
lea eax, [esp + 0x80]
push eax
add edx, 0x124
lea ecx, [esp + 0x4c]
call fcn.0040a1ac
pop ecx
pop ecx
lea ecx, [esp + 0x2c]
call fcn.00402440
and dword [esp + 0x1c], 0xfffffe00
and dword [esp + 0x20], 0
lea ecx, [esp + 0x318]
mov byte [esp + 0x390], 0x7b
call fcn.0040d73f
push ecx
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x4c]
push ecx
mov byte [esp + 0x39c], 0x7c
mov ecx, eax
mov dword [esp + 0x34], 1
call fcn.0040d78e
test al, al
je 0x4141ac
lea ecx, [esp + 0x14]
call fcn.004104f8
mov byte [esp + 0x24], 1
test al, al
jne 0x4141b1
mov byte [esp + 0x24], 0
lea ecx, [esp + 0x318]
mov dword [esp + 0x390], 0x7b
call fcn.00409e21
cmp byte [esp + 0x24], 0
je 0x4141da
lea edx, [esp + 0x14]
mov ecx, ebp
call fcn.004123d1
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x79
call fcn.0040fcc4
lea ecx, [esp + 0x44]
call fcn.00402440
lea ecx, [esp + 0x7c]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [edi + 8]
or eax, dword [edi + 0xc]
mov byte [esp + 0x24], 0
jne 0x414217
mov byte [esp + 0x24], 1
push 0x4603ac
mov ecx, ebp
call fcn.00410419
test al, al
jne 0x414278
mov eax, dword [esp + 0x1c]
and dword [esp + 0x20], 0
and eax, 0xffffff05
or eax, 5
mov dword [esp + 0x1c], eax
mov al, byte [esp + 0x24]
mov byte [esp + 0x14], al
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x4603b4
mov ecx, ebp
mov byte [esp + 0x3a0], 0x7d
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
cmp dword [edi], 1
je 0x414290
cmp dword [edi], 2
je 0x414290
cmp dword [edi], 4
je 0x414290
cmp dword [edi], 8
jne 0x4144b8
push ecx
push 0x4603bc
mov ecx, ebp
call fcn.00410296
push 0x4603dc
lea ecx, [esp + 0x9c]
mov esi, eax
call fcn.004023bd
mov ecx, eax
mov byte [esp + 0x390], 0x7e
call fcn.004082e2
mov ecx, dword [0x460950]
push eax
lea eax, [esp + 0x68]
push eax
call fcn.004099df
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x7f
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x4603cc
mov ecx, esi
mov byte [esp + 0x3a0], 0x80
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x7f
call fcn.0040fcc4
lea ecx, [esp + 0x64]
call fcn.00402440
lea ecx, [esp + 0x98]
mov byte [esp + 0x390], 0xc
call fcn.00402440
push 0x460400
lea ecx, [esp + 0x104]
call fcn.004023bd
mov ecx, eax
mov byte [esp + 0x390], 0x81
call fcn.004082e2
mov ecx, dword [0x460950]
push eax
lea eax, [esp + 0x68]
push eax
call fcn.004099df
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x82
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x4603ec
mov ecx, esi
mov byte [esp + 0x3a0], 0x83
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x82
call fcn.0040fcc4
lea ecx, [esp + 0x64]
call fcn.00402440
lea ecx, [esp + 0x100]
mov byte [esp + 0x390], 0xc
call fcn.00402440
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 8]
or eax, ecx
je 0x414446
and ecx, 0x7fffffff
push ecx
push dword [edi + 8]
lea eax, [esp + 0x6c]
push 0x460424
push eax
call fcn.0041e7a9
add esp, 0x10
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x394], 0x84
call fcn.0040fb7b
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460414
mov ecx, esi
mov byte [esp + 0x3a0], 0x85
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x84
call fcn.0040fcc4
lea ecx, [esp + 0x64]
mov byte [esp + 0x390], 0xc
call fcn.00402440
jmp 0x414494
mov eax, dword [esp + 0x1c]
and dword [esp + 0x20], 0
and dword [esp + 0x14], 0
and eax, 0xffffff02
or eax, 2
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x46042c
mov ecx, esi
mov byte [esp + 0x3a0], 0x86
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
push ecx
push 0x460444
mov ecx, ebp
call fcn.00410296
push eax
push ecx
push ecx
push 0x46043c
mov ecx, esi
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
cmp dword [edi], 0x20
jne 0x4145ee
push ecx
push 0x46044c
mov ecx, ebp
call fcn.00410296
mov esi, eax
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
xor dl, dl
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0x88
call fcn.00422e0e
mov dl, 1
lea ecx, [esp + 0x7c]
call fcn.00422e0e
lea edx, [esp + 0x14]
lea ecx, [esp + 0x64]
call fcn.0041ea8b
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x394], 0x89
call fcn.0040fb7b
lea eax, [esp + 0x2c]
push eax
push ecx
push ecx
push 0x460450
mov ecx, esi
mov byte [esp + 0x3a0], 0x8a
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x2c]
mov byte [esp + 0x390], 0x89
call fcn.0040fcc4
lea ecx, [esp + 0x64]
mov byte [esp + 0x390], 0x88
call fcn.00402440
lea edx, [esp + 0x7c]
lea ecx, [esp + 0x98]
call fcn.0041ea8b
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x394], 0x8b
call fcn.0040fb7b
lea eax, [esp + 0x2c]
push eax
push ecx
push ecx
push 0x460460
mov ecx, esi
mov byte [esp + 0x3a0], 0x8c
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x2c]
mov byte [esp + 0x390], 0x8b
call fcn.0040fcc4
lea ecx, [esp + 0x98]
call fcn.00402440
lea ecx, [esp + 0x7c]
call fcn.0040acbf
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040acbf
cmp dword [edi], 0x10
jne 0x414729
push ecx
push 0x460470
mov ecx, ebp
call fcn.00410296
mov ecx, dword [esp + 0x1c]
mov edx, dword [edi + 0x2c]
and dword [esp + 0x20], 0
mov ebp, 0xffffff02
and ecx, ebp
or ecx, 2
mov esi, eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], edx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460478
mov ecx, esi
mov byte [esp + 0x3a0], 0x8d
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 0x28]
and dword [esp + 0x20], 0
and eax, ebp
or eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
push eax
push ecx
push ecx
push 0x460484
mov ecx, esi
mov byte [esp + 0x3a0], 0x8e
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x14]
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
lea ecx, [edi + 0x10]
cmp dword [ecx + 0x14], 0x10
mov edx, dword [ecx + 0x10]
jb 0x4146b3
mov ecx, dword [ecx]
push ecx
push ecx
push 0
push 0
call fcn.0041de0f
and edx, 0x7fffffff
push edx
push eax
lea eax, [esp + 0x7c]
push 0x460498
push eax
call fcn.0041e7a9
add esp, 0x20
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x394], 0x8f
call fcn.0040fb7b
lea eax, [esp + 0x2c]
push eax
push ecx
push ecx
push 0x460490
mov ecx, esi
mov byte [esp + 0x3a0], 0x90
call fcn.00410296
pop ecx
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x2c]
mov byte [esp + 0x390], 0x8f
call fcn.0040fcc4
lea ecx, [esp + 0x64]
call fcn.00402440
jmp 0x414772
push 6
lea ecx, [esp + 0x30]
call fcn.0040fae0
mov esi, eax
push ecx
push 0x4604a0
lea ecx, [esp + 0x16c]
mov byte [esp + 0x398], 0x91
call fcn.00410296
push esi
mov ecx, eax
call fcn.0040fd3d
lea ecx, [esp + 0x2c]
mov esi, eax
mov byte [esp + 0x390], 0xc
call fcn.0040fcc4
mov ecx, esi
call fcn.004187fb
push ecx
lea ecx, [esp + 0x9c]
call fcn.0041147b
lea ecx, [esp + 0xec]
push ecx
lea ecx, [esp + 0x68]
mov byte [esp + 0x394], 0x92
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 4]
push ecx
mov ebp, 0xcc847ddf
push ebp
mov esi, 0x10000
push esi
mov edx, eax
lea ecx, [esp + 0x184]
mov byte [esp + 0x39c], 0x93
call fcn.004082fc
add esp, 0xc
lea ecx, [esp + 0x64]
call fcn.00402440
lea ecx, [esp + 0xa0]
mov dword [esp + 0x98], 0x4497bc
call fcn.00402440
push ecx
lea ecx, [esp + 0x104]
call fcn.0041147b
lea ecx, [esp + 0x13c]
push ecx
lea ecx, [esp + 0x68]
mov byte [esp + 0x394], 0x97
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 4]
push ecx
push ebp
push esi
mov edx, eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x39c], 0x98
call fcn.004082fc
add esp, 0xc
lea ecx, [esp + 0x64]
call fcn.00402440
lea ecx, [esp + 0x108]
mov dword [esp + 0x100], 0x4497bc
call fcn.00402440
push ecx
lea ecx, [esp + 0x1c4]
call fcn.0041147b
lea ecx, [esp + 0x164]
push ecx
lea ecx, [esp + 0x68]
mov byte [esp + 0x394], 0x9c
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 4]
push ecx
push ebp
push esi
mov edx, eax
lea ecx, [esp + 0x2b0]
mov byte [esp + 0x39c], 0x9d
call fcn.004082fc
add esp, 0xc
lea ecx, [esp + 0x64]
call fcn.00402440
mov byte [esp + 0x390], 0xa0
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x1c0], 0x4497bc
call fcn.00402440
or ebp, 0xffffffff
push ebp
push 0
lea eax, [esp + 0xc4]
lea esi, [ebx + 0x30]
push eax
mov ecx, esi
mov dword [esp + 0x1cc], 0x44983c
call fcn.004027dc
lea eax, [esp + 0xec]
push eax
lea ecx, [edi + 0x40]
call fcn.0040fd3d
cmp dword [edi], 0x10
je 0x4149e8
cmp dword [edi], 0x40
je 0x4149e8
lea eax, [esp + 0x178]
push eax
mov edx, 0x4604a8
lea ecx, [esp + 0x9c]
call fcn.0040f457
pop ecx
lea edi, [ebx + 0x48]
push eax
mov ecx, edi
call fcn.0040240a
lea ecx, [esp + 0x98]
call fcn.00402440
lea eax, [esp + 0x22c]
push eax
mov edx, 0x4604ac
lea ecx, [esp + 0x104]
call fcn.0040f457
pop ecx
push ebp
xor ebp, ebp
push ebp
push eax
mov ecx, edi
mov byte [esp + 0x39c], 0xa1
call fcn.0040aad8
lea ecx, [esp + 0x100]
mov byte [esp + 0x390], 0xa0
call fcn.00402440
lea eax, [esp + 0x2a4]
push eax
mov edx, 0x4604b0
lea ecx, [esp + 0x150]
call fcn.0040f457
pop ecx
push 0xffffffffffffffff
push ebp
push eax
mov ecx, edi
mov byte [esp + 0x39c], 0xa2
call fcn.0040aad8
lea ecx, [esp + 0x14c]
mov byte [esp + 0x390], 0xa0
call fcn.00402440
push dword [esp + 0x60]
lea eax, [esp + 0x200]
push dword [esp + 0x60]
push 0x4604b4
push eax
call fcn.0041e7a9
add esp, 0x10
push 0xffffffffffffffff
push ebp
push eax
mov ecx, edi
mov byte [esp + 0x39c], 0xa3
call fcn.0040aad8
lea ecx, [esp + 0x1fc]
jmp 0x414ad2
push 1
push 0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0xc8]
mov byte [esp + 0x30], 0x3f
call fcn.0040ab78
push 0x3f
cmp eax, ebp
pop eax
push 0x26
pop ecx
cmovne eax, ecx
movzx eax, al
push eax
mov ecx, esi
call fcn.0040a8d8
lea eax, [esp + 0x178]
push eax
mov edx, 0x4604c0
lea ecx, [esp + 0x9c]
call fcn.0040f457
pop ecx
push ebp
xor ebp, ebp
push ebp
push eax
mov ecx, esi
mov byte [esp + 0x39c], 0xa4
call fcn.0040aad8
lea ecx, [esp + 0x98]
mov byte [esp + 0x390], 0xa0
call fcn.00402440
lea eax, [esp + 0x22c]
push eax
mov edx, 0x4604c4
lea ecx, [esp + 0x104]
call fcn.0040f457
pop ecx
push 0xffffffffffffffff
push ebp
push eax
mov ecx, esi
mov byte [esp + 0x39c], 0xa5
call fcn.0040aad8
lea ecx, [esp + 0x100]
mov byte [esp + 0x390], 0xa0
call fcn.00402440
push dword [esp + 0x60]
lea eax, [esp + 0x150]
push dword [esp + 0x60]
push 0x4604c8
push eax
call fcn.0041e7a9
add esp, 0x10
push 0xffffffffffffffff
push ebp
push eax
mov ecx, esi
mov byte [esp + 0x39c], 0xa6
call fcn.0040aad8
lea ecx, [esp + 0x14c]
mov byte [esp + 0x390], 0xa0
call fcn.00402440
cmp dword [esi + 0x14], 0x10
jb 0x414ae7
mov esi, dword [esi]
lea eax, [ebx + 0x18]
cmp dword [eax + 0x14], 0x10
jb 0x414af2
mov eax, dword [eax]
push esi
push eax
lea eax, [esp + 0xa0]
push 0x4604d4
push eax
call fcn.0041e7a9
add esp, 0x10
mov ecx, ebx
push eax
call fcn.0040240a
lea ecx, [esp + 0x98]
call fcn.00402440
lea ecx, [esp + 0x2a4]
call fcn.00402440
lea ecx, [esp + 0x22c]
call fcn.00402440
lea ecx, [esp + 0x178]
call fcn.00402440
lea ecx, [esp + 0x124]
call fcn.00402440
lea ecx, [esp + 0xd4]
call fcn.00402440
lea ecx, [esp + 0x2bc]
mov byte [esp + 0x390], 5
call fcn.0040fcc4
lea ecx, [esp + 0x164]
mov byte [esp + 0x390], 4
call fcn.0040fcc4
lea ecx, [esp + 0x13c]
mov byte [esp + 0x390], 3
call fcn.0040fcc4
lea ecx, [esp + 0xec]
mov byte [esp + 0x390], 2
call fcn.0040fcc4
lea ecx, [esp + 0xbc]
call fcn.00402440
mov ecx, dword [esp + 0x388]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
leave
ret