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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x78c
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push 4
push ebx
call dword [0x100ef7e8]
xor edi, edi
mov dword [ebx + 4], edi
mov dword [ebx + 8], edi
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x10], eax
mov eax, dword [0x100ef814]
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x1c]
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x18], edi
mov dword [esp + 0x24], edi
mov edx, dword [esp + 0x24]
mov dword [ebx + 0xc], 0xfa0
mov dword [ebx + 0x1c], edx
mov dword [ebx + 0x24], eax
mov esi, 1
lea eax, [ebx + 0x4c]
push 4
push eax
mov dword [ebx + 0x20], edi
mov dword [ebx + 0x28], esi
mov dword [ebx + 0x2c], esi
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x34], edi
mov dword [ebx + 0x38], edi
mov dword [ebx + 0x3c], esi
mov dword [ebx + 0x40], edi
mov dword [ebx + 0x44], edi
mov dword [ebx + 0x48], edi
mov dword [esp + 0xf4], eax
call dword [0x100ef7e8]
mov dword [ebx + 0x50], edi
mov dword [ebx + 0x68], edi
mov dword [ebx + 0x6c], edi
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0x58], ecx
mov dword [esp + 0x1c], edi
mov edx, dword [esp + 0x1c]
mov dword [ebx + 0x5c], edx
mov dword [ebx + 0x60], edi
mov dword [esp + 0x24], edi
mov ecx, dword [esp + 0x24]
mov dword [ebx + 0x64], ecx
mov eax, 0xfa0
mov dword [ebx + 0x54], eax
mov dword [ebx + 0x74], esi
mov dword [ebx + 0x78], edi
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0x18]
mov dword [ebx + 0x80], edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x24], edi
mov ecx, dword [esp + 0x24]
mov dword [ebx + 0x7c], eax
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x84], eax
mov dword [ebx + 0x88], edi
mov dword [ebx + 0x8c], ecx
mov dword [ebx + 0x90], edi
mov dword [ebx + 0x94], edi
mov dword [ebx + 0xa0], edi
mov dword [ebx + 0xa4], edi
lea eax, [ebx + 0xb0]
mov dword [ebx + 0xa8], edi
mov dword [ebx + 0xac], edi
lea esi, [ebx + 0xbc]
mov dword [eax + 4], edi
mov word [eax], di
mov word [eax + 2], di
mov dword [esp + 0x14], eax
mov dword [esp + 0x38], esi
mov dword [esi], edi
mov eax, 0x200
xor ecx, ecx
mov dword [esi + 4], edi
mov dword [esi + 8], 0xff
call fcn.0053b3c0
mov dword [esi], eax
mov dword [esi + 4], edi
mov word [eax], di
mov dword [ebx + 0xc8], edi
mov dword [ebx + 0xe0], edi
mov dword [ebx + 0xe4], edi
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0x18]
mov dword [ebx + 0xd0], edx
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0xd4], eax
mov dword [ebx + 0xd8], edi
mov dword [esp + 0x24], edi
mov edx, dword [esp + 0x24]
mov dword [ebx + 0xdc], edx
mov ecx, 0xfa0
mov dword [ebx + 0xcc], ecx
mov dword [ebx + 0xf0], edi
mov dword [ebx + 0xf4], edi
mov dword [ebx + 0xf8], edi
mov dword [ebx + 0xec], 0x6000000
mov dword [ebx + 0xfc], edi
mov dword [ebx + 0x114], edi
mov dword [ebx + 0x118], edi
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x104], eax
mov dword [esp + 0x1c], edi
mov edx, dword [esp + 0x1c]
mov dword [ebx + 0x108], edx
mov dword [ebx + 0x10c], edi
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x100], ecx
mov dword [ebx + 0x110], eax
lea eax, [ebx + 0x120]
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0x18]
mov dword [eax + 8], edx
mov dword [eax], edi
mov dword [esp + 0x1c], edi
mov edx, dword [esp + 0x1c]
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edi
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], edi
mov dword [esp + 0x24], edi
mov edx, dword [esp + 0x24]
mov dword [eax + 4], ecx
mov dword [eax + 0x14], edx
mov dword [esp + 0x18], edi
mov dword [esp + 0xc], eax
lea eax, [ebx + 0x140]
mov dword [esp + 0x1c], edi
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x24], edi
mov dword [eax], edi
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x24]
push 0x100af5e0
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edi
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], edi
push 0x100d7550
mov dword [eax + 0x14], ecx
lea edi, [ebx + 0x160]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0x100], eax
mov dword [esp + 0xb0], edi
call fcn.0051a530
lea edi, [ebx + 0x190]
push 0x100af860
push 0x100d7568
push 0x100d755c
mov ecx, 1
mov dword [esp + 0xe4], edi
call fcn.0051a530
push 0x100b0140
push 0x100d7578
lea edi, [ebx + 0x1c0]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0xdc], edi
call fcn.0051a530
push 0x100b0230
push 0x100d7584
lea edi, [ebx + 0x1f0]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0xd4], edi
call fcn.0051a530
push 0x100b02c0
push 0x100d7590
lea edi, [ebx + 0x220]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0xcc], edi
call fcn.0051a530
push 0x100b0380
push 0x100d75a0
lea edi, [ebx + 0x250]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0xa8], edi
call fcn.0051a530
push 0x100b0440
push 0x100d75b8
lea edi, [ebx + 0x280]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0xa0], edi
call fcn.0051a530
push 0x100b0500
push 0x100d75d0
lea edi, [ebx + 0x2b0]
push 0x100d755c
xor ecx, ecx
mov dword [esp + 0x98], edi
call fcn.0051a530
push 0x100b0640
push 0x100d75d8
lea edi, [ebx + 0x2e0]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0x90], edi
call fcn.0051a530
push 0x100b0890
push 0x100d75e8
lea edi, [ebx + 0x310]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0x88], edi
call fcn.0051a530
push 0x100b0950
push 0x100d75f8
lea edi, [ebx + 0x340]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0x80], edi
call fcn.0051a530
push 0x100b09d0
push 0x100d7610
lea edi, [ebx + 0x370]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0x78], edi
call fcn.0051a530
push 0x100b0a70
lea edi, [ebx + 0x3a0]
push 0x100d7628
mov dword [esp + 0x6c], edi
push 0x100d755c
mov ecx, 1
call fcn.0051a530
push 0x100b0b30
push 0x100d763c
lea edi, [ebx + 0x3d0]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0x68], edi
call fcn.0051a530
push 0x100b0be0
push 0x100d7650
lea edi, [ebx + 0x400]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0x1dc], edi
call fcn.0051a530
push 0x100b0c90
push 0x100d7668
lea edi, [ebx + 0x430]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0x60], edi
call fcn.0051a530
push 0x100b0d40
push 0x100d7678
lea edi, [ebx + 0x460]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0x58], edi
call fcn.0051a530
push 0x100b0db0
push 0x100d7690
lea edi, [ebx + 0x490]
push 0x100d755c
xor ecx, ecx
mov dword [esp + 0x54], edi
call fcn.0051a530
push 0x100b0f10
push 0x100d76a4
lea edi, [ebx + 0x4c0]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0xbc], edi
call fcn.0051a530
push 0x100b0fb0
push 0x100d76c0
lea edi, [ebx + 0x4f0]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0xa4], edi
call fcn.0051a530
push 0x100b1060
push 0x100d76e0
lea edi, [ebx + 0x520]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0xb4], edi
call fcn.0051a530
push 0x100b1130
push 0x100d76fc
lea edi, [ebx + 0x550]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0x9c], edi
call fcn.0051a530
push 0x100b1220
push 0x100d7714
lea edi, [ebx + 0x580]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0xac], edi
call fcn.0051a530
push 0x100b1390
push 0x100d7720
lea edi, [ebx + 0x5b0]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0x94], edi
call fcn.0051a530
lea edi, [ebx + 0x5e0]
mov dword [esp + 0xbc], edi
push 0x100b1460
push 0x100d7730
push 0x100d755c
mov ecx, 1
call fcn.0051a530
push 0x100b1520
push 0x100d7744
lea edi, [ebx + 0x610]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0x8c], edi
call fcn.0051a530
push 0x100b1600
push 0x100d7754
lea edi, [ebx + 0x640]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0xe0], edi
call fcn.0051a530
push 0x100b16e0
push 0x100d7770
lea edi, [ebx + 0x670]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0x84], edi
call fcn.0051a530
push 0x100b1840
push 0x100d7788
lea edi, [ebx + 0x6a0]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0xc0], edi
call fcn.0051a530
push 0x100b1a00
push 0x100d77a4
lea edi, [ebx + 0x6d0]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0x7c], edi
call fcn.0051a530
push 0x100b1bb0
push 0x100d77b4
lea edi, [ebx + 0x700]
push 0x100d755c
mov ecx, 1
mov dword [esp + 0x50], edi
call fcn.0051a530
push 0x100b1e50
push 0x100d77cc
lea edi, [ebx + 0x730]
push 0x100d755c
mov ecx, 2
mov dword [esp + 0xd0], edi
call fcn.0051a530
push 0x100b1fb0
push 0x100d77d8
lea edi, [ebx + 0x760]
push 0x100d755c
mov ecx, 2
mov dword [esp + 0x74], edi
call fcn.0051a530
push 0x100b2070
push 0x100d77e4
lea edi, [ebx + 0x790]
push 0x100d755c
mov ecx, 2
mov dword [esp + 0xb8], edi
call fcn.0051a530
push 0x100b2160
push 0x100d77f8
lea edi, [ebx + 0x7c0]
push 0x100d755c
mov ecx, 2
mov dword [esp + 0x6c], edi
call fcn.0051a530
push 0x100b21c0
lea edi, [ebx + 0x7f0]
push 0x100d7808
mov dword [esp + 0xd4], edi
push 0x100d755c
mov ecx, 2
call fcn.0051a530
push 0x100b22b0
push 0x100d781c
lea edi, [ebx + 0x820]
push 0x100d755c
mov ecx, 2
mov dword [esp + 0x4c], edi
call fcn.0051a530
push 0x100b23e0
push 0x100d7828
lea edi, [ebx + 0x850]
push 0x100d755c
mov ecx, 2
mov dword [esp + 0x64], edi
call fcn.0051a530
push 0x100b24e0
push 0x100d7834
lea edi, [ebx + 0x880]
push 0x100d755c
mov ecx, 2
mov dword [esp + 0xc4], edi
call fcn.0051a530
push 0x100b2660
push 0x100d7840
lea edi, [ebx + 0x8b0]
push 0x100d755c
mov ecx, 2
mov dword [esp + 0x5c], edi
call fcn.0051a530
push 0x100b27f0
push 0x100d7854
lea edi, [ebx + 0x8e0]
push 0x100d755c
mov ecx, 2
mov dword [esp + 0x40], edi
call fcn.0051a530
push 0x100b27a0
push 0x100d7860
lea edi, [ebx + 0x910]
push 0x100d755c
mov ecx, 2
mov dword [esp + 0x48], edi
call fcn.0051a530
push 0x100b2840
push 0x100d786c
lea edi, [ebx + 0x940]
push 0x100d755c
mov ecx, 2
mov dword [esp + 0x1e8], edi
call fcn.0051a530
push 0x100b2920
push 0x100d7878
lea edi, [ebx + 0x970]
push 0x100d755c
mov ecx, 2
mov dword [esp + 0x1e0], edi
call fcn.0051a530
push 0x100b2a10
push 0x100d7890
lea edi, [ebx + 0x9a0]
push 0x100d755c
mov ecx, 2
mov dword [esp + 0x1d0], edi
call fcn.0051a530
push 0x100b2b80
push 0x100d78a0
lea edi, [ebx + 0x9d0]
push 0x100d755c
mov ecx, 2
mov dword [esp + 0x1f0], edi
call fcn.0051a530
push 0x100b2c50
push 0x100d78b0
lea edi, [ebx + 0xa00]
push 0x100d755c
mov ecx, 2
mov dword [esp + 0x1f8], edi
call fcn.0051a530
lea edi, [ebx + 0xa30]
mov dword [esp + 0x1f4], edi
push 0x100b2d80
push 0x100d78c0
push 0x100d755c
mov ecx, 2
call fcn.0051a530
push 0x100b2eb0
push 0x100d78cc
lea edi, [ebx + 0xa60]
push 0x100d755c
mov ecx, 2
mov dword [esp + 0x210], edi
call fcn.0051a530
push 0x100b2f90
push 0x100d78e0
lea edi, [ebx + 0xa90]
push 0x100d755c
mov ecx, 2
mov dword [esp + 0x218], edi
call fcn.0051a530
push 0x100b3100
push 0x100d78f0
lea edi, [ebx + 0xac0]
push 0x100d755c
mov ecx, 2
mov dword [esp + 0x220], edi
call fcn.0051a530
push 0x100b31c0
push 0x100d78fc
lea edi, [ebx + 0xaf0]
push 0x100d755c
mov ecx, 2
mov dword [esp + 0x230], edi
call fcn.0051a530
xor eax, eax
push 0x100b3450
lea esi, [ebx + 0xb20]
push 0x100d7908
mov dword [esi], eax
mov dword [esi + 4], eax
lea edi, [ebx + 0xb38]
push 0x100d743c
xor ecx, ecx
mov dword [esp + 0x3c], esi
mov dword [ebx + 0xb2c], eax
mov dword [ebx + 0xb30], eax
mov dword [esp + 0x234], edi
call fcn.0051a530
push 0x100b32c0
push 0x100d7918
lea edi, [ebx + 0xb68]
push 0x100d755c
xor ecx, ecx
mov dword [esp + 0x238], edi
call fcn.0051a530
push 0x100b3bc0
push 0x100d7928
lea edi, [ebx + 0xb98]
push 0x100d755c
xor ecx, ecx
mov dword [esp + 0x21c], edi
call fcn.0051a530
push 0x100bb630
push 0x100d7950
lea edi, [ebx + 0xbc8]
push 0x100d755c
xor ecx, ecx
mov dword [esp + 0x1e4], edi
call fcn.0051a530
push 0x100b4500
push 0x100d7964
lea edi, [ebx + 0xbf8]
push 0x100d743c
xor ecx, ecx
mov dword [esp + 0x1ec], edi
call fcn.0051a530
push 0x100b6d90
push 0x100d7974
lea edi, [ebx + 0xc28]
push 0x100d743c
xor ecx, ecx
mov dword [esp + 0x244], edi
call fcn.0051a530
push 0x100b5da0
push 0x100d7984
lea edi, [ebx + 0xc58]
push 0x100d799c
xor ecx, ecx
mov dword [esp + 0x1f4], edi
call fcn.0051a530
push 0x100b5e00
push 0x100d7984
lea edi, [ebx + 0xc88]
push 0x100d7478
xor ecx, ecx
mov dword [esp + 0x224], edi
call fcn.0051a530
push 0x100b4140
push 0x100d79ac
lea edi, [ebx + 0xcb8]
push 0x100d743c
xor ecx, ecx
mov dword [esp + 0x1fc], edi
call fcn.0051a530
push 0x100bad50
push 0x100d79b4
lea edi, [ebx + 0xce8]
push 0x100d755c
xor ecx, ecx
mov dword [esp + 0x23c], edi
call fcn.0051a530
push 0x100baf20
push 0x100d79c0
lea edi, [ebx + 0xd18]
push 0x100d755c
xor ecx, ecx
mov dword [esp + 0x204], edi
call fcn.0051a530
push 0x100baf70
push 0x100d79d0
lea edi, [ebx + 0xd48]
push 0x100d755c
xor ecx, ecx
mov dword [esp + 0x240], edi
call fcn.0051a530
push 0x100bb340
push 0x100d79ec
lea edi, [ebx + 0xd78]
push 0x100d755c
xor ecx, ecx
mov dword [esp + 0x248], edi
call fcn.0051a530
push 0x100bb5b0
push 0x100d7a04
lea edi, [ebx + 0xda8]
push 0x100d755c
xor ecx, ecx
mov dword [esp + 0x250], edi
call fcn.0051a530
push 0x100be440
push 0x100d7a14
lea edi, [ebx + 0xdd8]
push 0x100d755c
xor ecx, ecx
mov dword [esp + 0x214], edi
call fcn.0051a530
push 0x100bb690
push 0x100d7a2c
lea edi, [ebx + 0xe08]
push 0x100d7a44
xor ecx, ecx
mov dword [esp + 0x22c], edi
call fcn.0051a530
push 0x100bb990
push 0x100d7a50
lea edi, [ebx + 0xe38]
push 0x100d7a44
xor ecx, ecx
mov dword [esp + 0x20c], edi
call fcn.0051a530
lea edi, [ebx + 0xe68]
push 0x100bb790
mov dword [esp + 0x244], edi
push 0x100d7a64
push 0x100d7a44
xor ecx, ecx
call fcn.0051a530
push 0x100bb9f0
push 0x100d7a7c
lea edi, [ebx + 0xe98]
push 0x100d7a44
xor ecx, ecx
mov dword [esp + 0x1d4], edi
call fcn.0051a530
push 0x100bc7e0
push 0x100d7a90
lea edi, [ebx + 0xec8]
push 0x100d7a44
xor ecx, ecx
mov dword [esp + 0x1d8], edi
call fcn.0051a530
push 0x100bc900
push 0x100d7aa4
lea edi, [ebx + 0xef8]
push 0x100d7a44
xor ecx, ecx
mov dword [esp + 0x24], edi
call fcn.0051a530
push 0x100bcfe0
push 0x100d7ab8
lea edi, [ebx + 0xf28]
push 0x100d7a44
xor ecx, ecx
mov dword [esp + 0xf0], edi
call fcn.0051a530
push 0x100bd2d0
push 0x100d7acc
lea edi, [ebx + 0xf5c]
push 0x100d799c
mov ecx, 1
mov dword [ebx + 0xf58], 0
mov dword [esp + 0xf4], edi
call fcn.0051a530
push 0x100bd320
push 0x100d7adc
lea edi, [ebx + 0xf8c]
push 0x100d799c
mov ecx, 1
mov dword [esp + 0xec], edi
call fcn.0051a530
call fcn.0053c0b0
mov dword [0x100ef48c], ebx
mov dword [ebx + 0x9c], 0
call fcn.00520200
push 0x100ef4b8
mov edx, 0x100ef4b4
lea eax, [esp + 0x3e4]
call fcn.00532c00
mov edx, dword [0x100ef808]
push 0x1d8
push 1
push edx
call dword [0x100cf14c]
cmp byte [esp + 0x3fc], 0
mov edi, eax
je 0x51cc99
mov esi, dword [esp + 0x3f8]
call fcn.005154d0
mov esi, dword [esp + 0x30]
test edi, edi
je 0x51ccb2
push ebx
mov esi, edi
call fcn.00485970
mov ebx, dword [ebp + 8]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
jmp 0x51ccba
mov dword [esp + 0x2c], 0
mov edi, dword [ebx + 4]
test edi, edi
je 0x51ccd4
call fcn.00486280
mov eax, edi
call fcn.00472510
mov dword [ebx + 4], 0
mov eax, dword [esp + 0x2c]
push ebx
mov dword [ebx + 4], eax
call fcn.004e3950
mov ecx, dword [esp + 0xa8]
add esp, 4
lea edx, [esp + 0x10]
push edx
push esi
mov eax, edx
mov dword [esp + 0x18], ecx
call fcn.00530c20
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0x150]
push ecx
mov dword [esp + 0x154], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0xd0]
lea eax, [esp + 0x158]
push eax
push esi
mov dword [esp + 0x160], edx
call fcn.00530c20
mov ecx, dword [esp + 0xc8]
lea edx, [esp + 0x190]
push edx
push esi
mov eax, edx
mov dword [esp + 0x198], ecx
call fcn.00530c20
mov eax, dword [esp + 0xc0]
lea ecx, [esp + 0xf8]
push ecx
mov dword [esp + 0xfc], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0x9c]
lea eax, [esp + 0x178]
push eax
push esi
mov dword [esp + 0x180], edx
call fcn.00530c20
mov ecx, dword [esp + 0x94]
lea edx, [esp + 0x10c]
push edx
push esi
mov eax, edx
mov dword [esp + 0x114], ecx
call fcn.00530c20
mov eax, dword [esp + 0x8c]
lea ecx, [esp + 0x114]
push ecx
mov dword [esp + 0x118], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0x84]
lea eax, [esp + 0x11c]
push eax
push esi
mov dword [esp + 0x124], edx
call fcn.00530c20
mov ecx, dword [esp + 0x7c]
lea edx, [esp + 0x140]
push edx
push esi
mov eax, edx
mov dword [esp + 0x148], ecx
call fcn.00530c20
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x148]
push ecx
mov dword [esp + 0x14c], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x160], edx
lea eax, [esp + 0x160]
push eax
push esi
call fcn.00530c20
mov ecx, dword [esp + 0x64]
lea edx, [esp + 0x168]
push edx
push esi
mov eax, edx
mov dword [esp + 0x170], ecx
call fcn.00530c20
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x170]
push ecx
mov dword [esp + 0x174], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0x54]
lea eax, [esp + 0x180]
push eax
push esi
mov dword [esp + 0x188], edx
call fcn.00530c20
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x188]
push edx
push esi
mov eax, edx
mov dword [esp + 0x190], ecx
call fcn.00530c20
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x100]
push ecx
mov dword [esp + 0x104], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0xb0]
lea eax, [esp + 0x194]
push eax
push esi
mov dword [esp + 0x19c], edx
call fcn.00530c20
mov ecx, dword [esp + 0x98]
lea edx, [esp + 0x108]
push edx
push esi
mov eax, edx
mov dword [esp + 0x110], ecx
call fcn.00530c20
mov eax, dword [esp + 0xa8]
lea ecx, [esp + 0x15c]
push ecx
mov dword [esp + 0x160], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0x90]
lea eax, [esp + 0x110]
push eax
push esi
mov dword [esp + 0x118], edx
call fcn.00530c20
mov ecx, dword [esp + 0xa0]
lea edx, [esp + 0x17c]
push edx
push esi
mov eax, edx
mov dword [esp + 0x184], ecx
call fcn.00530c20
mov eax, dword [esp + 0x88]
lea ecx, [esp + 0x118]
push ecx
mov dword [esp + 0x11c], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x164], edx
lea eax, [esp + 0x164]
push eax
push esi
call fcn.00530c20
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0x120]
push edx
push esi
mov eax, edx
mov dword [esp + 0x128], ecx
call fcn.00530c20
mov eax, dword [esp + 0xd4]
lea ecx, [esp + 0x124]
push ecx
mov dword [esp + 0x128], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0x78]
lea eax, [esp + 0x138]
push eax
push esi
mov dword [esp + 0x140], edx
call fcn.00530c20
mov ecx, dword [esp + 0xb4]
lea edx, [esp + 0x128]
push edx
push esi
mov eax, edx
mov dword [esp + 0x130], ecx
call fcn.00530c20
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x18c]
push ecx
mov dword [esp + 0x190], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0x44]
lea eax, [esp + 0x13c]
push eax
push esi
mov dword [esp + 0x144], edx
call fcn.00530c20
mov ecx, dword [esp + 0xc4]
lea edx, [esp + 0x16c]
push edx
push esi
mov eax, edx
mov dword [esp + 0x174], ecx
call fcn.00530c20
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x144]
push ecx
mov dword [esp + 0x148], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0xac]
lea eax, [esp + 0x184]
push eax
push esi
mov dword [esp + 0x18c], edx
call fcn.00530c20
mov ecx, dword [esp + 0x60]
lea edx, [esp + 0x14c]
push edx
push esi
mov eax, edx
mov dword [esp + 0x154], ecx
call fcn.00530c20
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x174]
push ecx
mov dword [esp + 0x178], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x154]
mov dword [esp + 0x154], edx
push eax
push esi
call fcn.00530c20
mov ecx, dword [esp + 0x58]
lea edx, [esp + 0xfc]
push edx
push esi
mov eax, edx
mov dword [esp + 0x104], ecx
call fcn.00530c20
mov eax, dword [esp + 0xb8]
lea ecx, [esp + 0x104]
push ecx
mov dword [esp + 0x108], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x50]
push eax
push esi
mov dword [esp + 0x58], edx
call fcn.00530c20
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0xb8]
push edx
push esi
mov eax, edx
mov dword [esp + 0xc0], ecx
call fcn.00530c20
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x58]
push ecx
mov dword [esp + 0x5c], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0x1dc]
lea eax, [esp + 0x40]
push eax
push esi
mov dword [esp + 0x48], edx
call fcn.00530c20
mov ecx, dword [esp + 0x1d4]
lea edx, [esp + 0xcc]
push edx
push esi
mov eax, edx
mov dword [esp + 0xd4], ecx
call fcn.00530c20
mov eax, dword [esp + 0x1c4]
lea ecx, [esp + 0x60]
push ecx
mov dword [esp + 0x64], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0x1e4]
lea eax, [esp + 0xac]
push eax
push esi
mov dword [esp + 0xb4], edx
call fcn.00530c20
mov ecx, dword [esp + 0x1ec]
lea edx, [esp + 0x68]
push edx
push esi
mov eax, edx
mov dword [esp + 0x70], ecx
call fcn.00530c20
mov eax, dword [esp + 0x1f4]
lea ecx, [esp + 0xc4]
push ecx
mov dword [esp + 0xc8], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0x204]
lea eax, [esp + 0x44]
push eax
mov dword [esp + 0x48], edx
push esi
call fcn.00530c20
mov ecx, dword [esp + 0x20c]
lea edx, [esp + 0x70]
push edx
push esi
mov eax, edx
mov dword [esp + 0x78], ecx
call fcn.00530c20
mov eax, dword [esp + 0x214]
lea ecx, [esp + 0xb4]
push ecx
mov dword [esp + 0xb8], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0x224]
lea eax, [esp + 0x78]
push eax
push esi
mov dword [esp + 0x80], edx
call fcn.00530c20
mov ecx, dword [esp + 0x22c]
lea edx, [esp + 0xd4]
push edx
push esi
mov eax, edx
mov dword [esp + 0xdc], ecx
call fcn.00530c20
mov eax, dword [esp + 0x234]
lea ecx, [esp + 0x80]
push ecx
mov dword [esp + 0x84], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0x23c]
lea eax, [esp + 0xbc]
push eax
push esi
mov dword [esp + 0xc4], edx
call fcn.00530c20
mov ecx, dword [esp + 0x244]
lea edx, [esp + 0x88]
push edx
push esi
mov eax, edx
mov dword [esp + 0x90], ecx
call fcn.00530c20
mov eax, dword [esp + 0x208]
lea ecx, [esp + 0xa0]
push ecx
mov dword [esp + 0xa4], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0x1d0]
lea eax, [esp + 0x90]
push eax
push esi
mov dword [esp + 0x98], edx
call fcn.00530c20
mov ecx, dword [esp + 0x228]
lea edx, [esp + 0xa8]
push edx
push esi
mov eax, edx
mov dword [esp + 0xb0], ecx
call fcn.00530c20
mov eax, dword [esp + 0x1d8]
lea ecx, [esp + 0x98]
push ecx
mov dword [esp + 0x9c], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0x210]
lea eax, [esp + 0xb0]
push eax
push esi
mov dword [esp + 0xb8], edx
call fcn.00530c20
mov ecx, dword [esp + 0x1e0]
lea edx, [esp + 0x48]
push edx
push esi
mov eax, edx
mov dword [esp + 0x50], ecx
call fcn.00530c20
mov eax, dword [esp + 0x238]
lea ecx, [esp + 0x4c]
push ecx
mov dword [esp + 0x50], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0x1e8]
lea eax, [esp + 0x54]
push eax
push esi
mov dword [esp + 0x5c], edx
call fcn.00530c20
mov ecx, dword [esp + 0x218]
lea edx, [esp + 0x5c]
push edx
push esi
mov eax, edx
mov dword [esp + 0x64], ecx
call fcn.00530c20
mov eax, dword [esp + 0x1f0]
lea ecx, [esp + 0x64]
push ecx
mov dword [esp + 0x68], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0x230]
lea eax, [esp + 0x6c]
push eax
push esi
mov dword [esp + 0x74], edx
call fcn.00530c20
mov ecx, dword [esp + 0x1f8]
lea edx, [esp + 0x74]
push edx
push esi
mov eax, edx
mov dword [esp + 0x7c], ecx
call fcn.00530c20
mov eax, dword [esp + 0x220]
lea ecx, [esp + 0x7c]
push ecx
mov dword [esp + 0x80], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0x200]
lea eax, [esp + 0x84]
push eax
push esi
mov dword [esp + 0x8c], edx
call fcn.00530c20
mov ecx, dword [esp + 0x240]
lea edx, [esp + 0x8c]
push edx
push esi
mov eax, edx
mov dword [esp + 0x94], ecx
call fcn.00530c20
mov eax, dword [esp + 0x1c8]
lea ecx, [esp + 0x94]
push ecx
mov dword [esp + 0x98], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0x1cc]
lea eax, [esp + 0x9c]
push eax
push esi
mov dword [esp + 0xa4], edx
call fcn.00530c20
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0xc0]
push edx
push esi
mov eax, edx
mov dword [esp + 0xc8], ecx
call fcn.00530c20
mov eax, dword [esp + 0xe8]
lea ecx, [esp + 0xc8]
push ecx
mov dword [esp + 0xcc], eax
push esi
mov eax, ecx
call fcn.00530c20
mov edx, dword [esp + 0xe0]
lea eax, [esp + 0xd0]
push eax
push esi
mov dword [esp + 0xd8], edx
call fcn.00530c20
mov ecx, dword [esp + 0xe4]
lea edx, [esp + 0xd8]
push edx
push esi
mov eax, edx
mov dword [esp + 0xe0], ecx
call fcn.00530c20
mov esi, dword [esi]
test esi, esi
je 0x51d51b
mov eax, dword [esi + 8]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov esi, dword [esi + 4]
call edx
test esi, esi
jne 0x51d507
lea ebx, [esp + 0x1fc]
call fcn.0050b130
mov esi, dword [esp + 0xec]
mov edi, eax
mov eax, dword [esi]
xor ebx, ebx
cmp eax, ebx
je 0x51d542
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov dword [esi], ebx
mov eax, dword [edi]
cmp eax, ebx
mov dword [esi], eax
je 0x51d551
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call edx
mov eax, dword [esp + 0x1fc]
cmp eax, ebx
je 0x51d564
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov dword [esp + 0x308], 0x100d7aec
mov dword [esp + 0x30c], 0x100d7b04
mov dword [esp + 0x310], 0x100d7b18
mov dword [esp + 0x314], 0x100d7b30
mov dword [esp + 0x318], 0x100d7b4c
mov dword [esp + 0x31c], 0x100d7b64
mov dword [esp + 0x320], 0x100d7b78
mov dword [esp + 0x324], 0x100d7b8c
mov dword [esp + 0x10], ebx
mov edi, ebx
jmp 0x51d5d0
cmp dword [0x100ef800], ebx
mov esi, dword [esp + 0xc]
je 0x51dd25
mov eax, dword [esp + edi*4 + 0x308]
push eax
push ecx
push 0x100cf980
push ecx
lea eax, [esp + 0x2dc]
call fcn.0053c8d0
add esp, 4
push eax
lea eax, [esp + 0x258]
push eax
call fcn.004ccef0
add esp, 0x10
push eax
lea ecx, [esp + 0x280]
push ecx
call fcn.004ccef0
add esp, 0xc
push eax
push ecx
mov eax, esi
call fcn.00530a20
add esp, 4
push eax
push esi
call fcn.00530720
mov esi, dword [esp + 0x278]
cmp esi, ebx
je 0x51d692
push 0x100ef4b8
mov edx, 0x100ef4b4
lea eax, [esp + 0x544]
call fcn.00532c00
mov edx, dword [0x100ef808]
mov edi, dword [0x100cf260]
push esi
push 1
push edx
call edi
cmp byte [esp + 0x55c], bl
je 0x51d67b
mov esi, dword [esp + 0x558]
call fcn.005154d0
mov dword [esp + 0x278], ebx
mov dword [esp + 0x27c], ebx
mov dword [esp + 0x280], ebx
jmp 0x51d698
mov edi, dword [0x100cf260]
mov esi, dword [esp + 0x248]
cmp esi, ebx
je 0x51d6ee
push 0x100ef4b8
mov edx, 0x100ef4b4
lea eax, [esp + 0x424]
call fcn.00532c00
mov eax, dword [0x100ef808]
push esi
push 1
push eax
call edi
cmp byte [esp + 0x43c], bl
je 0x51d6d9
mov esi, dword [esp + 0x438]
call fcn.005154d0
mov dword [esp + 0x248], ebx
mov dword [esp + 0x24c], ebx
mov dword [esp + 0x250], ebx
mov esi, dword [esp + 0x2cc]
cmp esi, ebx
je 0x51d745
push 0x100ef4b8
mov edx, 0x100ef4b4
lea eax, [esp + 0x504]
call fcn.00532c00
mov ecx, dword [0x100ef808]
push esi
push 1
push ecx
call edi
cmp byte [esp + 0x51c], bl
je 0x51d730
mov esi, dword [esp + 0x518]
call fcn.005154d0
mov dword [esp + 0x2cc], ebx
mov dword [esp + 0x2d0], ebx
mov dword [esp + 0x2d4], ebx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + edx*4 + 0x308]
push eax
push ecx
push 0x100cf980
push ecx
lea esi, [esp + 0x2c4]
call fcn.0053c860
add esp, 4
push eax
lea eax, [esp + 0x2f4]
push eax
call fcn.004ccef0
add esp, 0x10
push eax
lea ecx, [esp + 0x2a4]
push ecx
call fcn.004ccef0
mov esi, dword [esp + 0x100]
add esp, 0xc
push eax
push ecx
mov eax, esi
call fcn.00530a20
add esp, 4
push eax
push esi
call fcn.00530720
mov esi, dword [esp + 0x29c]
cmp esi, ebx
je 0x51d7fa
push 0x100ef4b8
mov edx, 0x100ef4b4
lea eax, [esp + 0x464]
call fcn.00532c00
mov edx, dword [0x100ef808]
push esi
push 1
push edx
call edi
cmp byte [esp + 0x47c], bl
je 0x51d7e5
mov esi, dword [esp + 0x478]
call fcn.005154d0
mov dword [esp + 0x29c], ebx
mov dword [esp + 0x2a0], ebx
mov dword [esp + 0x2a4], ebx
mov esi, dword [esp + 0x2e4]
cmp esi, ebx
je 0x51d850
push 0x100ef4b8
mov edx, 0x100ef4b4
lea eax, [esp + 0x4a4]
call fcn.00532c00
mov eax, dword [0x100ef808]
push esi
push 1
push eax
call edi
cmp byte [esp + 0x4bc], bl
je 0x51d83b
mov esi, dword [esp + 0x4b8]
call fcn.005154d0
mov dword [esp + 0x2e4], ebx
mov dword [esp + 0x2e8], ebx
mov dword [esp + 0x2ec], ebx
mov esi, dword [esp + 0x2b4]
cmp esi, ebx
je 0x51d8a7
push 0x100ef4b8
mov edx, 0x100ef4b4
lea eax, [esp + 0x3a4]
call fcn.00532c00
mov ecx, dword [0x100ef808]
push esi
push 1
push ecx
call edi
cmp byte [esp + 0x3bc], bl
je 0x51d892
mov esi, dword [esp + 0x3b8]
call fcn.005154d0
mov dword [esp + 0x2b4], ebx
mov dword [esp + 0x2b8], ebx
mov dword [esp + 0x2bc], ebx
mov edi, dword [esp + 0x10]
add edi, 1
cmp edi, 8
mov dword [esp + 0x10], edi
jb 0x51d5d0
cmp dword [0x100ef814], ebx
je 0x51e8b8
call fcn.0051f150
mov eax, dword [0x100ef4e8]
cmp eax, ebx
je 0x51d8dc
push eax
call dword [0x100cf188]
cmp dword [0x100ef520], ebx
je 0x51da10
mov edi, dword [0x100cf22c]
push 1
call edi
mov ebx, 0x100ef524
mov esi, eax
call fcn.0052ac30
add esp, 4
push 0xb
call edi
mov ebx, 0x100ef52c
mov esi, eax
call fcn.0052ac30
add esp, 4
push 0xc
call edi
mov ebx, 0x100ef534
mov esi, eax
call fcn.0052ac30
add esp, 4
mov eax, 0x200
xor ecx, ecx
mov dword [esp + 0x298], 0xff
call fcn.0053b3c0
lea edx, [esp + 0x290]
xor edi, edi
push edx
push edi
mov dword [esp + 0x298], eax
mov dword [esp + 0x29c], edi
mov word [eax], di
call fcn.0053d1d0
mov esi, dword [esp + 0x298]
add esp, 8
push 2
push edi
push esi
call dword [0x100cf18c]
cmp dword [0x100ef758], edi
mov ebx, eax
je 0x51d9d9
cmp dword [0x100ef754], edi
je 0x51d9d9
push 0x20
lea eax, [esp + 0x384]
push eax
call dword [0x100ef7e8]
lea ecx, [esp + 0x380]
push ecx
mov dword [esp + 0x384], 0x20
mov dword [esp + 0x388], edi
mov dword [esp + 0x38c], esi
call dword [0x100ef758]
cmp eax, 0xffffffff
je 0x51d9d9
lea edx, [esp + 0xdc]
push edx
push eax
call dword [0x100ef754]
test eax, eax
je 0x51d9d9
mov edi, 1
call fcn.0052ad40
call fcn.0052aec0
test edi, edi
je 0x51d9fc
mov eax, dword [0x100ef750]
test eax, eax
je 0x51d9fc
mov ecx, dword [esp + 0xdc]
push ecx
push 0
call eax
push ebx
call dword [0x100cf124]
test esi, esi
je 0x51da0e
mov eax, esi
call fcn.00472510
xor ebx, ebx
cmp dword [0x100ef510], ebx
mov edi, dword [0x100cf258]
je 0x51da6a
push ebx
call edi
mov esi, dword [eax + 0x3c]
lea edx, [esp + 0x28]
push edx
push 4
add esi, eax
push 0xf8
push esi
call dword [0x100cf0ac]
test eax, eax
je 0x51da6a
mov eax, dword [0x100ef510]
mov dword [esi + 0xe8], eax
mov ecx, dword [0x100ef514]
lea edx, [esp + 0x28]
push edx
mov dword [esi + 0xec], ecx
mov eax, dword [esp + 0x2c]
push eax
push 0xf8
push esi
call dword [0x100cf0ac]
call fcn.0051e930
cmp dword [0x100ef51c], ebx
je 0x51da7c
call fcn.00519f30
cmp dword [0x100ef518], ebx
je 0x51deef
push ebx
call edi
mov edi, dword [eax + 0x3c]
mov ecx, dword [edi + eax + 0x28]
add edi, eax
cmp ecx, ebx
jne 0x51dee4
mov eax, dword [0x100ef594]
cmp eax, ebx
je 0x51dcca
mov eax, 0x100
xor ecx, ecx
mov dword [esp + 0x2b0], 0xff
call fcn.0053b3c0
xor ecx, ecx
cmp ecx, 0x100d7ba0
mov dword [esp + 0x2a8], eax
mov byte [eax], bl
mov dword [esp + 0x2ac], ebx
mov eax, 0x100d7ba0
jne 0x51dae4
mov eax, 0x100e16e4
push eax
lea ebx, [esp + 0x34c]
call fcn.00505220
mov edx, dword [eax]
add esp, 4
push edx
lea esi, [esp + 0x2ac]
call fcn.0052f5f0
mov eax, dword [esp + 0x348]
test eax, eax
je 0x51db13
call fcn.00472510
lea eax, [esp + 0x2a8]
call fcn.00537250
mov eax, dword [0x100ef594]
test eax, eax
je 0x51dcc8
mov eax, 0x100
xor ecx, ecx
mov dword [esp + 0x1c0], 0xff
call fcn.0053b3c0
mov dword [esp + 0x1b8], eax
mov byte [eax], 0
xor eax, eax
cmp eax, 0x100d7c70
mov dword [esp + 0x1bc], 0
mov eax, 0x100d7c70
jne 0x51db6b
mov eax, 0x100e16e4
push eax
lea ebx, [esp + 0x2c4]
call fcn.00505220
mov ecx, dword [eax]
add esp, 4
push ecx
lea esi, [esp + 0x1bc]
call fcn.0052f5f0
mov eax, dword [esp + 0x2c0]
xor ebx, ebx
cmp eax, ebx
je 0x51dbb1
call fcn.00472510
mov dword [esp + 0x2c0], ebx
mov dword [esp + 0x2c4], ebx
mov dword [esp + 0x2c8], ebx
mov edx, dword [edi + 0xe8]
push edx
lea eax, [esp + 0x59c]
push 0x100e16f8
push eax
call dword [0x100cf2ec]
add esp, 0xc
lea ecx, [esp + 0x598]
push ecx
lea esi, [esp + 0x1bc]
call fcn.0052f5f0
push 0x100d1420
call fcn.0052f5f0
mov eax, esi
call fcn.00537250
mov eax, dword [0x100ef594]
cmp eax, ebx
je 0x51dcc8
mov eax, 0x100
xor ecx, ecx
mov dword [esp + 0x1b4], 0xff
call fcn.0053b3c0
xor edx, edx
cmp edx, 0x100d7d20
mov dword [esp + 0x1ac], eax
mov byte [eax], bl
mov dword [esp + 0x1b0], ebx
mov eax, 0x100d7d20
jne 0x51dc3b
mov eax, 0x100e16e4
push eax
lea ebx, [esp + 0x2dc]
call fcn.00505220
mov eax, dword [eax]
add esp, 4
push eax
lea esi, [esp + 0x1b0]
call fcn.0052f5f0
mov eax, dword [esp + 0x2d8]
xor esi, esi
cmp eax, esi
je 0x51dc81
call fcn.00472510
mov dword [esp + 0x2d8], esi
mov dword [esp + 0x2dc], esi
mov dword [esp + 0x2e0], esi
mov ecx, dword [edi + 0xec]
push ecx
lea edx, [esp + 0x69c]
push 0x100e16f8
push edx
call dword [0x100cf2ec]
add esp, 0xc
lea eax, [esp + 0x698]
push eax
lea esi, [esp + 0x1b0]
call fcn.0052f5f0
push 0x100d1420
call fcn.0052f5f0
mov eax, esi
call fcn.00537250
mov eax, dword [0x100ef594]
xor ebx, ebx
cmp dword [edi + 0xe8], ebx
je 0x51de95
cmp dword [edi + 0xec], ebx
je 0x51de95
cmp eax, ebx
je 0x51dd05
lea esi, [esp + 0x354]
call fcn.00537210
mov ecx, eax
mov eax, 0x100d7dd8
call fcn.00537380
mov eax, esi
call fcn.00537250
push 0x100d7f98
push 0x100d7fa4
call dword [0x100cf254]
push eax
call dword [0x100cf25c]
call eax
push eax
call dword [0x100cf214]
mov edx, dword [esp + edi*4 + 0x308]
push edx
push ecx
push 0x100cf980
push ecx
lea esi, [esp + 0x27c]
call fcn.0053c860
add esp, 4
push eax
lea eax, [esp + 0x270]
push eax
call fcn.004ccef0
add esp, 0x10
push eax
lea ecx, [esp + 0x25c]
push ecx
call fcn.004ccef0
mov esi, dword [esp + 0x18]
add esp, 0xc
push eax
push ecx
mov eax, esi
call fcn.00530a20
add esp, 4
push eax
push esi
call fcn.00530720
mov esi, dword [esp + 0x254]
cmp esi, ebx
je 0x51ddd7
push 0x100ef4b8
mov edx, 0x100ef4b4
lea eax, [esp + 0x4e4]
call fcn.00532c00
mov edx, dword [0x100ef808]
push esi
push 1
push edx
call dword [0x100cf260]
cmp byte [esp + 0x4fc], bl
je 0x51ddc2
mov esi, dword [esp + 0x4f8]
call fcn.005154d0
mov dword [esp + 0x254], ebx
mov dword [esp + 0x258], ebx
mov dword [esp + 0x25c], ebx
mov esi, dword [esp + 0x260]
cmp esi, ebx
je 0x51de31
push 0x100ef4b8
mov edx, 0x100ef4b4
lea eax, [esp + 0x3c4]
call fcn.00532c00
mov eax, dword [0x100ef808]
push esi
push 1
push eax
call dword [0x100cf260]
cmp byte [esp + 0x3dc], bl
je 0x51de1c
mov esi, dword [esp + 0x3d8]
call fcn.005154d0
mov dword [esp + 0x260], ebx
mov dword [esp + 0x264], ebx
mov dword [esp + 0x268], ebx
mov esi, dword [esp + 0x26c]
cmp esi, ebx
je 0x51d8ab
push 0x100ef4b8
mov edx, 0x100ef4b4
lea eax, [esp + 0x404]
call fcn.00532c00
mov ecx, dword [0x100ef808]
push esi
push 1
push ecx
call dword [0x100cf260]
cmp byte [esp + 0x41c], bl
je 0x51de7b
mov esi, dword [esp + 0x418]
call fcn.005154d0
mov dword [esp + 0x26c], ebx
mov dword [esp + 0x270], ebx
mov dword [esp + 0x274], ebx
jmp 0x51d8ab
cmp eax, ebx
je 0x51dedd
mov eax, 0x100
xor ecx, ecx
mov dword [esp + 0x304], 0xff
call fcn.0053b3c0
mov dword [esp + 0x2fc], eax
mov byte [eax], bl
mov eax, 0x100d7fc0
lea ecx, [esp + 0x2fc]
mov dword [esp + 0x300], ebx
call fcn.00537380
lea eax, [esp + 0x2fc]
call fcn.00537250
push ebx
call dword [0x100cf214]
add eax, ecx
call eax
push eax
call dword [0x100cf214]
mov eax, dword [0x100ef4e4]
cmp eax, ebx
je 0x51e8b8
mov dword [esp + 0x2f0], ebx
mov dword [esp + 0x2f4], ebx
mov dword [esp + 0x2f8], ebx
mov ebx, eax
lea edi, [esp + 0x2f0]
call fcn.00475be0
mov ebx, dword [esp + 0x2f0]
mov edi, dword [esp + 0x38]
call fcn.00475be0
test ebx, ebx
je 0x51df3a
mov eax, ebx
call fcn.00472510
mov eax, dword [edi]
push 0
push 0
push 3
push 0
push 1
push 0x80000000
push eax
call dword [0x100cf0ec]
mov edx, dword [esp + 0x14]
mov ecx, dword [ebp + 8]
mov esi, eax
mov eax, dword [ecx + 4]
push edx
push esi
call fcn.0049ad00
push 0
push esi
call dword [0x100cf0fc]
xor ebx, ebx
test eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
jbe 0x51df8b
push eax
call fcn.0053b370
add esp, 4
mov dword [esp + 0x18], eax
mov ebx, eax
mov ecx, dword [esp + 0x14]
xor edi, edi
push edi
lea eax, [esp + 0x344]
push eax
push ecx
push ebx
push esi
call dword [0x100cf0c0]
push esi
call dword [0x100cf21c]
sub esp, 0xc
mov esi, esp
push 0x100d813c
mov dword [esi], edi
mov dword [esi + 4], edi
mov dword [esi + 8], edi
call fcn.00475c60
sub esp, 0xc
mov esi, esp
push 0x100d815c
mov dword [esi], edi
mov dword [esi + 4], edi
mov dword [esi + 8], edi
call fcn.00475c60
push ebx
call fcn.0053db80
add esp, 0x10
mov esi, esp
push 0x100d8160
mov dword [esp + 0xf0], eax
mov dword [esi], edi
mov dword [esi + 4], edi
mov dword [esi + 8], edi
call fcn.00475c60
sub esp, 0xc
mov esi, esp
push 0x100d815c
mov dword [esi], edi
mov dword [esi + 4], edi
mov dword [esi + 8], edi
call fcn.00475c60
push ebx
call fcn.0053ec70
add esp, 0x1c
lea edx, [esp + 0x344]
push edx
mov dword [esp + 0xf8], eax
push 0x18
lea eax, [esp + 0x588]
push eax
push edi
call dword [0x100cf22c]
push eax
call dword [0x100ef7c8]
mov ecx, dword [esp + 0x584]
mov esi, dword [ebx + 0x3c]
lea eax, [ecx + 8]
mov dword [esp + 0xec], eax
mov eax, dword [eax]
mov edi, dword [eax + 0x3c]
add esi, ebx
mov ebx, dword [esi + 0x50]
add edi, eax
mov dword [esp + 0xe4], eax
xor edx, edx
mov eax, ebx
div dword [0x100ef6e0]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x30], esi
test edx, edx
jne 0x51e086
mov dword [esp + 0x2c], ebx
jmp 0x51e094
add eax, 1
imul eax, dword [0x100ef6e0]
mov dword [esp + 0x2c], eax
mov ebx, dword [esp + 0x38]
mov edx, dword [ebx]
mov eax, dword [ecx + 0x10]
push edx
add eax, 0x38
push eax
call dword [0x100ef7e0]
cmp word [esi + 0x5c], 3
jne 0x51e0e4
cmp word [edi + 0x5c], 2
jne 0x51e0e4
mov eax, dword [0x100ef4f4]
test al, 0x10
jne 0x51e0de
test eax, 0x8000008
jne 0x51e0e4
cmp dword [0x100ef4f8], 0
je 0x51e0de
mov ecx, dword [0x100ef4fc]
push ecx
call dword [0x100cf1b0]
jmp 0x51e0e4
call dword [0x100cf1a8]
mov eax, 3
cmp word [esi + 0x5c], ax
jne 0x51e107
cmp word [edi + 0x5c], ax
jne 0x51e155
cmp dword [0x100ef4ec], 0
jne 0x51e107
mov edx, dword [ebx]
push edx
call dword [0x100cf1b8]
mov eax, dword [ebx]
push eax
lea ecx, [esp + 0x32c]
push ecx
call fcn.004ab9a0
mov ebx, dword [esp + 0x330]
mov edi, dword [0x100cf068]
add esp, 8
push 0x100d1384
mov dword [esp + 0x10], ebx
call edi
push ebx
mov esi, eax
call edi
cmp eax, esi
jl 0x51e18c
push 0x100d1384
xor esi, esi
call edi
test eax, eax
jle 0x51e18c
mov eax, ebx
sub eax, 0x100d1384
mov dword [esp + 0x14], eax
jmp 0x51e165
mov eax, dword [0x100ef4ec]
test eax, eax
je 0x51e0fe
push eax
jmp 0x51e101
mov eax, dword [esp + 0x14]
mov dx, word [eax + esi*2 + 0x100d1384]
cmp dx, word [esi*2 + 0x100d1384]
jne 0x51e188
push 0x100d1384
add ebx, 2
add esi, 1
call edi
cmp esi, eax
jl 0x51e161
mov dword [esp + 0xc], ebx
mov eax, 0x200
xor ecx, ecx
mov dword [esp + 0x134], 0xff
call fcn.0053b3c0
mov dword [esp + 0x12c], eax
mov word [eax], 0
push 0x100ef4b8
mov edx, 0x100ef4b4
lea eax, [esp + 0x444]
mov dword [esp + 0x134], 0
call fcn.00532c00
mov eax, dword [0x100ef808]
push 4
push 1
push eax
call dword [0x100cf14c]
cmp byte [esp + 0x45c], 0
mov edi, eax
je 0x51e237
mov esi, dword [esp + 0x458]
mov ecx, dword [esi + 0x10]
add dword [ecx], 0xffffffff
mov ecx, dword [esi + 0x10]
cmp dword [ecx], 0
lea eax, [esi + 0x10]
jne 0x51e237
mov edx, ecx
mov dword [edx], 0
mov eax, dword [esi + 8]
push 0
push eax
call dword [0x100cf084]
mov ecx, dword [esi + 0xc]
test ecx, ecx
lea eax, [esi + 0xc]
jle 0x51e237
push eax
call dword [0x100cf080]
mov edx, dword [esi + 0x14]
push 0
push 1
push edx
call dword [0x100cf088]
push 1
push edi
mov dword [esp + 0x1a0], edi
mov edi, dword [0x100cf264]
push 0x100d8178
mov dword [esp + 0x1a8], 2
call edi
test eax, eax
jbe 0x51e2cf
add eax, 1
lea ecx, [esp + 0x198]
call fcn.00472350
mov esi, dword [esp + 0x19c]
mov ebx, dword [esp + 0x198]
lea eax, [esi + esi]
push eax
push ebx
call dword [0x100ef7e8]
push esi
push ebx
push 0x100d8178
call edi
xor eax, eax
lea edi, [esp + 0x284]
mov dword [esp + 0x284], eax
mov dword [esp + 0x288], eax
mov dword [esp + 0x28c], eax
call fcn.00475be0
mov ebx, dword [esp + 0x284]
lea edi, [esp + 0x12c]
call fcn.00475be0
test ebx, ebx
je 0x51e2cf
mov eax, ebx
call fcn.00472510
push 0x100d8184
lea esi, [esp + 0x130]
xor edi, edi
call fcn.004a2150
mov ecx, dword [esp + 0xc]
push ecx
call fcn.004a2150
push 0x100d8184
call fcn.004a2150
mov edx, dword [esp + 0x12c]
push edx
push 0x100d8178
call dword [0x100cf064]
mov esi, dword [esp + 0x38]
mov eax, dword [esi]
push 2
push edi
push eax
call dword [0x100cf18c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xe8], eax
mov eax, dword [ecx + 0xe8]
cmp eax, edi
jne 0x51e334
mov dword [esp + 0x34], edi
jmp 0x51e353
mov edx, dword [ecx + 0x50]
cmp eax, edx
jb 0x51e341
mov dword [esp + 0x34], edi
jmp 0x51e353
mov ecx, dword [ecx + 0xec]
add ecx, eax
cmp ecx, edx
sbb eax, eax
neg eax
mov dword [esp + 0x34], eax
cmp dword [0x100ef758], edi
mov dword [esp + 0xa4], edi
je 0x51e3cb
cmp dword [0x100ef754], edi
je 0x51e3cb
push 0x20
lea edx, [esp + 0x364]
push edx
call dword [0x100ef7e8]
mov eax, dword [esi]
lea ecx, [esp + 0x360]
push ecx
mov dword [esp + 0x364], 0x20
mov dword [esp + 0x368], edi
mov dword [esp + 0x36c], eax
call dword [0x100ef758]
cmp eax, 0xffffffff
mov dword [0x100e7a0c], eax
je 0x51e3cb
lea edx, [esp + 0x21c]
push edx
push eax
call dword [0x100ef754]
test eax, eax
je 0x51e3cb
mov dword [esp + 0xa4], 1
cmp dword [esp + 0xf4], edi
mov eax, dword [0x100ef4f0]
mov esi, dword [ebp + 8]
mov dword [esi + 0xb8], eax
je 0x51e413
push 0x100d8188
call dword [0x100cf178]
cmp eax, edi
mov dword [esp + 0xc], eax
je 0x51e413
push 0x100d81a4
push eax
call dword [0x100cf25c]
cmp eax, edi
je 0x51e413
cmp dword [eax], edi
je 0x51e413
mov dword [esi + 0xa4], 1
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
mov edi, esi
push eax
mov dword [edi + 0xa0], 1
call dword [0x100cf254]
mov edx, dword [esp + 0xec]
mov ecx, dword [esp + 0x3c]
mov esi, eax
mov eax, dword fs:[0x18]
xor ebx, ebx
mov dword [edi + 0xa0], ebx
mov dword [edx], esi
mov edx, dword [ecx + 0xc]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x14], eax
mov eax, ecx
mov dword [esp + 0x10], ebx
lea esp, [esp]
mov edx, dword [eax + 0x18]
cmp edx, dword [esp + 0xe4]
jne 0x51e47f
cmp dword [esp + 0x10], 0
jne 0x51e47f
mov dword [esp + 0x10], eax
mov word [eax + 0x3a], 0
jmp 0x51e485
cmp edx, esi
jne 0x51e485
mov ebx, eax
mov word [eax + 0x38], 0xffff
mov eax, dword [eax]
cmp dword [eax], ecx
jne 0x51e460
mov eax, dword [esi + 0x3c]
lea eax, [eax + esi + 0xc0]
test eax, eax
je 0x51e565
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 0x28], ecx
je 0x51e565
mov edx, 0x18
cmp dword [eax + 4], edx
jb 0x51e565
mov ecx, dword [ecx + esi + 8]
mov dword [ecx], 0
cmp dword [edi + 0xa4], 0
je 0x51e565
cmp dword [esp + 0xc], 0
je 0x51e565
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x3c]
lea eax, [ecx + eax + 0xc0]
test eax, eax
je 0x51e565
mov ecx, dword [eax]
test ecx, ecx
je 0x51e565
cmp dword [eax + 4], edx
jb 0x51e565
mov edx, dword [esp + 0xc]
mov eax, dword [edx + ecx]
mov edi, dword [edx + ecx + 4]
sub edi, eax
je 0x51e565
mov edx, dword [esp + 0x28]
mov ecx, dword [edx + esi]
push edi
push ecx
push eax
call dword [0x100ef7ec]
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 0xc]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xc], eax
cmp dword [eax + 0x18], esi
jne 0x51e554
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + esi]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x2c]
push edi
push edx
mov edx, dword [ecx]
push edx
call dword [0x100ef7ec]
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax]
cmp ecx, dword [esp + 0xdc]
mov dword [esp + 0xc], eax
jne 0x51e532
push esi
call fcn.0053d790
add esp, 4
cmp dword [esp + 0xe0], 0
je 0x51e583
push 0x100d81c4
call dword [0x100cf178]
mov edi, dword [ebp + 8]
push esi
call fcn.0052ee40
test ebx, ebx
je 0x51e5a2
mov edx, dword [esp + 0x30]
cmp dword [edx + 0xc0], 0
je 0x51e5a2
call fcn.0051feb0
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x51e5ec
test ebx, ebx
je 0x51e5ec
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov edi, dword [ebx]
mov dword [esp + 0x14], edx
mov edx, dword [ebx + 4]
mov dword [edx], edi
mov dword [edi + 4], edx
mov dword [eax], ebx
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x14]
mov dword [ebx], eax
mov dword [eax + 4], ebx
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
mov edi, dword [ebx + 0xc]
lea eax, [ebx + 8]
mov ebx, dword [eax]
mov dword [edi], ebx
mov dword [ebx + 4], edi
mov dword [edx], eax
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0xc]
mov edi, dword [ecx + 0x14]
mov ebx, dword [0x100cf148]
mov dword [esp + 0x14], edi
mov edx, dword [edi + 0x28]
push edx
call ebx
push 0x100d81e4
call ebx
mov edi, dword [edi]
mov eax, dword [esp + 0x14]
cmp dword [edi], eax
jne 0x51e600
cmp dword [esp + 0x34], 0
je 0x51e722
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x334]
push ecx
push 0x40
push edx
push esi
call dword [0x100cf0ac]
push 0x100cf954
call dword [0x100cf254]
push 0x100cf96c
push eax
call dword [0x100cf25c]
mov esi, eax
lea eax, [esp + 0xf0]
push eax
call dword [0x100cf238]
push eax
call esi
mov dword [esp + 0x28], eax
mov eax, 0x200
xor ecx, ecx
mov dword [esp + 0x1a8], 0xff
call fcn.0053b3c0
xor esi, esi
mov ebx, eax
mov edi, 1
mov word [ebx], si
cmp dword [esp + 0xf0], edi
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x1a4], esi
jle 0x51e6fd
push 0x100cf948
lea esi, [esp + 0x1a4]
call fcn.004a2150
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + edi*4]
push edx
call fcn.004a2150
mov eax, dword [esp + 0xf0]
add eax, 0xffffffff
cmp eax, edi
mov eax, 0x100cf948
je 0x51e6d6
mov eax, 0x100cf94c
push eax
lea esi, [esp + 0x1a4]
call fcn.004a2150
add edi, 1
cmp edi, dword [esp + 0xf0]
jl 0x51e6a0
mov esi, dword [esp + 0x1a4]
mov ebx, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x28]
push ecx
call dword [0x100cf218]
mov edx, dword [esp + 0x38]
mov eax, dword [edx]
neg esi
sbb esi, esi
and esi, ebx
push esi
push eax
call fcn.0052b300
push eax
call dword [0x100cf214]
mov ebx, dword [esp + 0x2c]
lea eax, [esp + 0x33c]
push eax
push 0x40
push ebx
push esi
call dword [0x100cf0ac]
add ebx, esi
cmp esi, ebx
mov edi, esi
jae 0x51e762
mov eax, dword [0x100ef6c8]
lea ecx, [esp + 0x338]
push ecx
push 0x40
push eax
push edi
call dword [0x100cf0ac]
mov eax, dword [0x100ef6c8]
add edi, eax
cmp edi, ebx
jb 0x51e745
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0x28]
test eax, eax
je 0x51e779
add eax, esi
call eax
push 0
call dword [0x100cf214]
cmp dword [esp + 0xa4], 0
je 0x51e798
mov eax, dword [0x100ef750]
test eax, eax
je 0x51e798
mov ecx, dword [esp + 0x21c]
push ecx
push 0
call eax
mov edx, dword [esp + 0xe8]
push edx
call dword [0x100cf124]
mov esi, dword [esp + 0x198]
test esi, esi
je 0x51e7f0
push 0x100ef4b8
mov edx, 0x100ef4b4
lea eax, [esp + 0x484]
call fcn.00532c00
mov eax, dword [0x100ef808]
mov edi, dword [0x100cf260]
push esi
push 1
push eax
call edi
cmp byte [esp + 0x49c], 0
je 0x51e7f6
mov esi, dword [esp + 0x498]
call fcn.005154d0
jmp 0x51e7f6
mov edi, dword [0x100cf260]
mov esi, dword [esp + 0x12c]
test esi, esi
je 0x51e839
push 0x100ef4b8
mov edx, 0x100ef4b4
lea eax, [esp + 0x524]
call fcn.00532c00
mov ecx, dword [0x100ef808]
push esi
push 1
push ecx
call edi
cmp byte [esp + 0x53c], 0
je 0x51e839
mov esi, dword [esp + 0x538]
call fcn.005154d0
mov esi, dword [esp + 0x328]
test esi, esi
je 0x51e87c
push 0x100ef4b8
mov edx, 0x100ef4b4
lea eax, [esp + 0x564]
call fcn.00532c00
mov edx, dword [0x100ef808]
push esi
push 1
push edx
call edi
cmp byte [esp + 0x57c], 0
je 0x51e87c
mov esi, dword [esp + 0x578]
call fcn.005154d0
push 0x100ef4b8
mov edx, 0x100ef4b4
lea eax, [esp + 0x4c4]
call fcn.00532c00
mov eax, dword [esp + 0x18]
mov ecx, dword [0x100ef808]
push eax
push 1
push ecx
call edi
cmp byte [esp + 0x4dc], 0
je 0x51e8b8
mov esi, dword [esp + 0x4d8]
call fcn.005154d0
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4