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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x101c
call fcn.0045a570
push ebx
push esi
push edi
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov eax, 0x1e0
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], eax
mov eax, 0x3d3
mov ecx, 0x26c
mov dword [esp + 0x58], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], eax
mov eax, dword [0x106da38]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x106da30]
sub eax, ecx
mov edx, 0x1ea
mov dword [esp + 0x28], eax
mov eax, dword [0x106da3c]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x74], edx
mov edx, dword [0x106da34]
mov dword [esp + 0x20], ecx
mov ecx, dword [0xd69abc]
mov ebx, 0x64
mov edi, 0xe6
mov esi, 0x168
sub eax, edx
cmp ecx, 0xffffffff
mov dword [esp + 0x34], ebx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x44], esi
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], edi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x24], edx
mov dword [esp + 0x2c], eax
je 0x4409be
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x10], eax
lea eax, [esp + 0x88]
push 0xc8
push eax
call fcn.004015a0
lea ecx, [esp + 0x158]
push 0xc8
push ecx
call fcn.004015a0
lea edx, [esp + 0x480]
push 0xc8
push edx
call fcn.004015a0
lea eax, [esp + 0x3c0]
push 0xc8
push eax
call fcn.004015a0
lea ecx, [esp + 0x558]
push 0xc8
push ecx
call fcn.004015a0
lea edx, [esp + 0x628]
push 0xc8
push edx
call fcn.004015a0
lea eax, [esp + 0x248]
push 0xc8
push eax
call fcn.004015a0
lea ecx, [esp + 0x318]
push 0xc8
push ecx
call fcn.004015a0
mov edx, dword [0x48f174]
mov eax, dword [0x48f170]
mov ecx, dword [0x14435b8]
add esp, 0x40
push edx
push eax
push ecx
lea edx, [esp + 0x94]
push edx
lea eax, [esp + 0xd18]
push eax
call fcn.0044b540
mov edx, dword [0x48f170]
mov esi, eax
mov eax, dword [0x14435b8]
mov ecx, 0x32
lea edi, [esp + 0x9c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x48f174]
push ecx
push edx
push eax
lea ecx, [esp + 0x170]
push ecx
lea edx, [esp + 0x87c]
push edx
call fcn.0044b540
mov edx, dword [0x14435b8]
mov esi, eax
mov eax, dword [0x48f174]
push eax
mov ecx, 0x32
lea edi, [esp + 0x17c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x48f170]
push ecx
push edx
lea eax, [esp + 0x4a4]
push eax
lea ecx, [esp + 0xed0]
push ecx
call fcn.0044b540
mov edx, dword [0x48f174]
mov esi, eax
mov eax, dword [0x48f170]
mov ecx, 0x32
lea edi, [esp + 0x4ac]
rep movsd dword es:[edi], dword [esi]
push edx
mov ecx, dword [0x14435b8]
push eax
push ecx
lea edx, [esp + 0x3f0]
push edx
lea eax, [esp + 0xa34]
push eax
call fcn.0044b540
mov edx, dword [0x48f170]
mov esi, eax
mov eax, dword [0x14435b8]
add esp, 0x50
mov ecx, 0x32
lea edi, [esp + 0x3a8]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x48f174]
push ecx
push edx
push eax
lea ecx, [esp + 0x544]
push ecx
lea edx, [esp + 0x6d8]
push edx
call fcn.0044b540
mov edx, dword [0x14435b8]
mov esi, eax
mov eax, dword [0x48f174]
push eax
mov ecx, 0x32
lea edi, [esp + 0x550]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x48f170]
push ecx
push edx
lea eax, [esp + 0x620]
push eax
lea ecx, [esp + 0xb9c]
push ecx
call fcn.0044b540
mov edx, dword [0x48f174]
push edx
mov esi, eax
mov eax, dword [0x48f170]
push eax
mov ecx, 0x32
lea edi, [esp + 0x630]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x14435b8]
push ecx
lea edx, [esp + 0x24c]
push edx
lea eax, [esp + 0x7c8]
push eax
call fcn.0044b540
mov edx, dword [0x48f170]
mov esi, eax
mov eax, dword [0x14435b8]
mov ecx, 0x32
lea edi, [esp + 0x254]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x48f174]
push ecx
push edx
push eax
lea ecx, [esp + 0x328]
push ecx
lea edx, [esp + 0x96c]
push edx
call fcn.0044b540
add esp, 0x50
mov esi, eax
mov ecx, 0x32
lea edi, [esp + 0x2e0]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc8
mov ecx, 0x32
mov esi, 0x14435b0
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043d8f0
add esp, 0xc8
mov eax, dword [0x48f174]
push 0
push 0
push 0
sub esp, 0xc8
mov edi, esp
push eax
mov ecx, 0x32
mov esi, 0x14435b0
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x48f170]
push ecx
push 0
push 0
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x234]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
mov edx, dword [0x48f174]
mov eax, dword [0x48f170]
add esp, 0x1ac
push 0
push 0
push 0
sub esp, 0xc8
mov edi, esp
push edx
push eax
push 0
push 0
mov ecx, 0x32
mov esi, 0x14435b0
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x2fc]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
add esp, 0xe4
mov edi, esp
mov ecx, 0x32
lea esi, [esp + 0x600]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xb78]
push str.SAVE
push ecx
call fcn.0044cb20
mov esi, eax
add esp, 8
mov ecx, 0x32
lea edi, [esp + 0x600]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
lea edx, [esp + 0xd08]
push str.SAVEC
mov ecx, 0x32
lea esi, [esp + 0x6cc]
push edx
rep movsd dword es:[edi], dword [esi]
call fcn.0044cb20
mov esi, eax
add esp, 8
mov ecx, 0x32
lea edi, [esp + 0x6c8]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
lea eax, [esp + 0xe98]
push str.SAVEP
mov ecx, 0x32
lea esi, [esp + 0x2e4]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.0044cb20
mov ecx, 0x32
mov esi, eax
lea edi, [esp + 0x2e8]
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov edi, esp
mov ecx, 0x32
lea esi, [esp + 0x3a8]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x1028]
push str.SAVEM
push ecx
call fcn.0044cb20
mov edx, dword [esp + 0x17c]
add esp, 0xd0
push 0xff
push 0
push 0
sub esp, 0xc8
mov esi, eax
mov eax, dword [esp + 0x17c]
mov ecx, 0x32
lea edi, [esp + 0x3b4]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
push edx
push eax
push 0
push 0
mov ecx, 0x32
lea esi, [esp + 0x61c]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x234]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00413eb0
mov edx, dword [esp + 0x254]
add esp, 0x1ac
push 0
push 0
push 0
sub esp, 0xc8
mov edi, esp
mov ecx, 0x32
lea esi, [esp + 0x15c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x180]
push ecx
push edx
push 0
push 0
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x61c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
mov eax, dword [esp + 0x320]
add esp, 0x1ac
push 0xff
push 0
push 0
sub esp, 0xc8
mov edi, esp
push eax
mov ecx, 0x32
lea esi, [esp + 0x6d8]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x248]
push ecx
push 0
push 0
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x2fc]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00413eb0
add esp, 0x1ac
push 0
push 0
push 0
sub esp, 0xc8
mov ecx, 0x32
mov edx, dword [esp + 0x180]
mov eax, dword [esp + 0x17c]
mov edi, esp
lea esi, [esp + 0x224]
push edx
rep movsd dword es:[edi], dword [esi]
push eax
lea esi, [esp + 0x484]
push 0
push 0
sub esp, 0xc8
mov ecx, 0x32
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
add esp, 0x1ac
mov edx, dword [0x48f170]
push 0
push 0
push 0
sub esp, 0xc8
mov edi, esp
mov ecx, 0x32
lea esi, [esp + 0x544]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x48f174]
push ecx
push edx
push 0
push 0
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x234]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
mov eax, dword [0x48f174]
add esp, 0x1ac
push 0
push 0
push 0
sub esp, 0xc8
mov edi, esp
push eax
mov ecx, 0x32
lea esi, [esp + 0x480]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x48f170]
push ecx
push 0
push 0
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x2fc]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
mov eax, dword [esp + 0x1bc]
add esp, 0x1ac
push 0xff
push 0
lea edx, [eax + eax*8]
add edx, edx
add edx, edx
push edx
sub esp, 0xc8
mov edi, esp
push 0x16
push 0x24
push 0x1a
push 0x1d5
mov ecx, 0x32
lea esi, [esp + 0x2fc]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x234]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00413eb0
add esp, 0x1ac
xor ebx, ebx
mov edi, edi
mov eax, dword [esp + ebx*8 + 0x34]
push 0xff
push 0x46
push 0
sub esp, 0xc8
mov edi, esp
push 0x18
push 0x18
mov ecx, 0x32
lea esi, [esp + 0x2f4]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + ebx*8 + 0x10c]
push eax
push ecx
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x234]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00413eb0
add ebx, 1
add esp, 0x1ac
cmp ebx, 0xa
jl 0x440ff0
mov ebx, dword [esp + 0x10]
push ebx
sub esp, 0xc8
mov edi, esp
mov ecx, 0x32
lea esi, [esp + 0x2e4]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc8
mov edi, esp
mov ecx, 0x32
lea esi, [esp + 0x2e4]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x2e4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00432570
mov eax, dword [0x48f174]
add esp, 0x25c
lea edx, [ebx + ebx*4 + 0x50]
push edx
push 0
push 0
sub esp, 0xc8
mov edi, esp
push 0
push 0
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x484]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
push eax
mov ecx, 0x32
lea esi, [esp + 0x2f8]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x48f170]
push ecx
push 0
push 0
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x304]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412c40
mov edx, dword [0x48f174]
mov eax, dword [0x48f170]
add esp, 0x27c
push 0
push 0
push 0
sub esp, 0xc8
mov edi, esp
push edx
push eax
push 0
push 0
mov ecx, 0x32
lea esi, [esp + 0x16c]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc8
mov ecx, 0x32
mov esi, 0x14435b0
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
push 0
push 0
push 0x12c
push 0x47e858
push 0xe
call fcn.00415da0
add esp, 0x1c0
jmp 0x441170
mov edx, dword [esp + 0xa8]
push 0
push 0
push 0
sub esp, 0xc8
mov edi, esp
mov ecx, 0x32
lea esi, [esp + 0x15c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x180]
push ecx
push edx
push 0
push 0
sub esp, 0xc8
mov ecx, 0x32
mov esi, 0x14434e8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
mov eax, dword [esp + 0x4b0]
mov ecx, dword [esp + 0x4ac]
add esp, 0x1ac
push eax
push ecx
push 0
push 0
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x3b8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0044bdc0
push eax
call fcn.004519c0
movzx esi, al
add esp, 0xdc
test esi, esi
mov dword [esp + 0x14], esi
jne 0x4412b2
mov dword [esp + 0x1c], esi
xor ebx, ebx
nop
cmp ebx, 0xffffff56
push 0xff
mov ecx, 0x32
lea esi, [esp + 0x21c]
push 0x46
jne 0x441265
push 0x18
sub esp, 0xc8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push 0x18
lea edx, [esp + 0x10c]
mov eax, dword [edx - 0x550]
sub edx, 0x550
lea ecx, [esp + 0x108]
mov edx, dword [ecx - 0x550]
push 0x18
sub ecx, 0x550
push eax
push edx
jmp 0x441282
mov eax, dword [esp + ebx*8 + 0x3c]
push 0
sub esp, 0xc8
mov edi, esp
push 0x18
push 0x18
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + ebx*8 + 0x10c]
push eax
push ecx
sub esp, 0xc8
mov ecx, 0x32
mov edi, esp
mov esi, 0x14434e8
rep movsd dword es:[edi], dword [esi]
call fcn.00413eb0
add ebx, 1
add esp, 0x1ac
cmp ebx, 0xa
jl 0x441210
jmp case.0x4415d0.6
lea ecx, [esi - 0x50]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jne 0x441360
push 5
call dword [0x47d080]
mov ecx, dword [0x1069b78]
cmp ecx, 1
jne 0x4418ea
call fcn.0044bde0
lea ecx, [esp + 0x88]
push ecx
call fcn.0044ca70
lea edx, [esp + 0x154]
push edx
call fcn.0044ca70
lea eax, [esp + 0x478]
push eax
call fcn.0044ca70
lea ecx, [esp + 0x3b4]
push ecx
call fcn.0044ca70
lea edx, [esp + 0x548]
push edx
call fcn.0044ca70
lea eax, [esp + 0x614]
push eax
call fcn.0044ca70
lea ecx, [esp + 0x230]
push ecx
call fcn.0044ca70
lea edx, [esp + 0x2fc]
push edx
call fcn.0044ca70
mov eax, 0xff
add esp, 0x20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0xffffffff
je 0x4414f0
cmp dword [esp + 0x1c], esi
je 0x44138b
mov edx, dword [0xd69a6c]
push edx
push 0
push 0
push 7
push 1
push str.SYS_OV
call fcn.0044a4b0
add esp, 0x18
mov eax, dword [esp + 0x174]
push esi
push 0
push 0
sub esp, 0xc8
mov edi, esp
push 0
push 0
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x484]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
push eax
mov ecx, 0x32
lea esi, [esp + 0x2f8]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x318]
push ecx
push 0
push 0
sub esp, 0xc8
mov ecx, 0x32
mov esi, 0x14434e8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412c40
mov ebx, dword [esp + 0x290]
lea edx, [ebx - 0x23]
add esp, 0x27c
cmp edx, 9
ja 0x441470
mov edx, dword [esp + 0x170]
lea eax, [ebx + 0x87]
push eax
push 0
push 0
sub esp, 0xc8
mov edi, esp
push 0
push 0
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x484]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
mov ecx, 0x32
lea esi, [esp + 0x2f4]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x318]
push ecx
push edx
push 0
push 0
sub esp, 0xc8
mov ecx, 0x32
mov esi, 0x14434e8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412c40
add esp, 0x27c
add ebx, 0xffffff56
cmp ebx, 9
ja 0x4414ec
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x170]
add eax, 0xffffff79
push eax
push 0
push 0
sub esp, 0xc8
mov edi, esp
push 0
push 0
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x484]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
mov ecx, 0x32
lea esi, [esp + 0x2f4]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x318]
push ecx
push edx
push 0
push 0
sub esp, 0xc8
mov ecx, 0x32
mov esi, 0x14434e8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412c40
add esp, 0x27c
mov esi, dword [esp + 0x14]
xor ebx, ebx
jmp 0x4414f8
mov esi, dword [esp + 0x14]
lea eax, [esi - 0xaa]
cmp eax, ebx
push 0xff
mov ecx, 0x32
lea esi, [esp + 0x21c]
push 0x46
jne 0x441534
mov eax, dword [esp + ebx*8 + 0x3c]
push 0x18
sub esp, 0xc8
mov edi, esp
push 0x18
push 0x18
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + ebx*8 + 0x10c]
push eax
push ecx
jmp 0x44154e
mov edx, dword [esp + ebx*8 + 0x3c]
mov eax, dword [esp + ebx*8 + 0x38]
push 0
sub esp, 0xc8
mov edi, esp
push 0x18
push 0x18
push edx
rep movsd dword es:[edi], dword [esi]
push eax
sub esp, 0xc8
mov ecx, 0x32
mov edi, esp
mov esi, 0x14434e8
rep movsd dword es:[edi], dword [esi]
call fcn.00413eb0
add ebx, 1
add esp, 0x1ac
cmp ebx, 0xa
jl 0x4414f4
mov ebx, dword [esp + 0x14]
lea ecx, [esp + 0x80]
push 0xffffffffffffffff
push ecx
mov dword [esp + 0x24], ebx
call fcn.0044fda0
add esp, 8
test eax, eax
je case.0x4415d0.6
mov edx, dword [0xd69a6c]
push edx
push 0
push 0
push 7
mov esi, 1
push esi
push str.SYS_OK
call fcn.0044a4b0
lea eax, [ebx - 5]
add esp, 0x18
cmp eax, 0xae
ja case.0x4415d0.6
movzx eax, byte [eax + 0x441a6c]
jmp dword [eax*4 + 0x441a38]
push 0
lea ecx, [esp + 0x18]
push ecx
push 0x40d
mov dword [esp + 0x20], 0
call fcn.0044bdc0
push eax
call dword [0x47d340]
cmp dword [esp + 0x14], 0
je case.0x4415d0.6
mov esi, 0xfe
jmp 0x4419c2
cmp dword [esp + 0x18], 0
jne 0x441769
cmp dword [0x7f33b8], esi
je 0x4416a3
mov edx, dword [0x48f174]
mov eax, dword [0x48f170]
push 0
push 0
push edx
push eax
push 0
push 0
sub esp, 0xc8
mov edi, esp
push 0x78
push 0xa0
push 0
push 0
mov ecx, 0x32
lea esi, [ebp + 8]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc8
mov ecx, 0x32
mov esi, 0x1442140
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00411b60
mov ecx, dword [0x1442184]
push 0xe100
push ecx
push 0x7f33bc
call fcn.004014b0
mov edx, dword [0x1442184]
add esp, 0x1c4
push 0xe100
push edx
push 0xefdc9c
call fcn.004014b0
add esp, 0xc
cmp dword [0xd69ac0], 1
mov esi, dword [esp + 0x10]
jne 0x4416cf
lea eax, [esi + esi*4]
push 0xdb48b8
lea ecx, [ebx + eax*2 - 0x23]
push ecx
push 1
call fcn.00432f40
add esp, 0xc
test eax, eax
je case.0x4415d0.6
lea ecx, [esi + esi*4]
lea ebx, [ebx + ecx*2 - 0x23]
push ebx
call fcn.0041f090
mov edx, dword [0x48f174]
mov eax, dword [0x48f170]
add esp, 4
push 0
push 0
push 0
sub esp, 0xc8
mov edi, esp
push edx
push eax
push 0
push 0
mov ecx, 0x32
lea esi, [esp + 0x554]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x234]
mov edi, esp
mov dword [0xd69abc], ebx
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
mov edx, dword [0x48f170]
add esp, 0x1ac
push 0
push 0
push 0
sub esp, 0xc8
mov edi, esp
mov ecx, 0x32
lea esi, [esp + 0x47c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x48f174]
push ecx
push edx
lea esi, [esp + 0x22c]
jmp 0x440ed9
mov eax, dword [esp + 0x10]
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*2 - 0x23]
push 0x1124088
push 0x127bcf8
push ebx
call fcn.0041f3b0
add esp, 0xc
cmp eax, esi
jne case.0x4415d0.6
cmp dword [0xd69ac0], esi
jne 0x4417af
push 0x127bcf8
push ebx
push 3
call fcn.00432f40
add esp, 0xc
test eax, eax
je case.0x4415d0.6
push ebx
call fcn.0041fd80
add esp, 4
cmp eax, esi
je 0x440ef7
jmp case.0x4415d0.6
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*4 - 0x55]
lea ebx, [ebx + eax*2]
jmp 0x441774
xor ecx, ecx
cmp dword [0xd69ac0], ecx
sete cl
mov dword [0xd69ac0], ecx
cmp dword [esp + 0x18], 0
jne 0x44184b
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push 0
push edx
push eax
sub esp, 0xc8
mov edi, esp
mov dword [esp + 0xec], esi
mov ecx, 0x32
lea esi, [esp + 0x47c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x100]
push ecx
mov ecx, dword [esp + 0x100]
push ecx
push edx
push eax
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x234]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
add esp, 0x1ac
jmp case.0x4415d0.6
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push 0
push edx
push eax
sub esp, 0xc8
mov edi, esp
mov ecx, 0x32
lea esi, [esp + 0x544]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x100]
push ecx
mov ecx, dword [esp + 0x100]
push ecx
push edx
push eax
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x234]
mov edi, esp
mov dword [esp + 0x1c4], 0
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
add esp, 0x1ac
jmp case.0x4415d0.6
push 0
push 0
push 0x10
call fcn.0044bdc0
push eax
call dword [0x47d340]
jmp case.0x4415d0.6
call fcn.0044bdc0
push eax
call fcn.0044fd10
add esp, 4
push 5
call dword [0x47d080]
mov edx, dword [0x1069b78]
cmp edx, 1
je 0x4412e4
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x80]
push eax
call fcn.0044fef0
add esp, 4
cmp eax, 1
je case.0x4415d0.30
push 5
call dword [0x47d080]
mov ecx, dword [0x1069b78]
cmp ecx, 1
je 0x4412e4
mov edx, dword [0x48f174]
mov eax, dword [0x48f170]
push 0
push 0
sub esp, 0xc8
mov edi, esp
push edx
push eax
push 0
mov ecx, 0x32
mov esi, 0x14434e8
push 0
rep movsd dword es:[edi], dword [esi]
call fcn.0044b3c0
add esp, 0xe0
jmp 0x441170
cmp ebx, 0x96
mov eax, dword [esp + 0x10]
jne 0x441979
test eax, eax
jg 0x44196f
mov dword [esp + 0x10], 0xa
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*4 + 0x4b]
mov dword [esp + 0x14], eax
jmp 0x441992
cmp eax, 9
jl 0x44198a
mov dword [esp + 0x10], 0xffffffff
mov eax, dword [esp + 0x10]
lea ecx, [eax + eax*4 + 0x55]
mov dword [esp + 0x14], ecx
mov ebx, dword [esp + 0x14]
lea ecx, [ebx - 0x50]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x10], eax
jmp 0x440ef7
mov esi, 4
jmp 0x4419c2
mov esi, 2
jmp 0x4419c2
xor esi, esi
lea edx, [esp + 0x88]
push edx
call fcn.0044ca70
lea eax, [esp + 0x154]
push eax
call fcn.0044ca70
lea ecx, [esp + 0x478]
push ecx
call fcn.0044ca70
lea edx, [esp + 0x3b4]
push edx
call fcn.0044ca70
lea eax, [esp + 0x548]
push eax
call fcn.0044ca70
lea ecx, [esp + 0x614]
push ecx
call fcn.0044ca70
lea edx, [esp + 0x230]
push edx
call fcn.0044ca70
lea eax, [esp + 0x2fc]
push eax
call fcn.0044ca70
add esp, 0x20
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret