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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1d0
mov esi, esp
mov dword [esi + 0xc], esp
mov ecx, dword [ebp + 0x1c]
mov eax, dword [0x10243228]
xor eax, ebp
mov dword [esi + 0x1c8], eax
xor eax, eax
dec eax
lea edi, [esi + 0x1b0]
mov dword [edi + 0x14], eax
mov dword [edi + 0x10], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [edi], xmm0
push eax
mov dword [esi + 0x14], esp
mov dword [esi + 8], esp
sub esp, 0xc
mov ebx, esp
call fcn.100447aa
mov dword [ebx + 8], eax
mov ecx, dword [ebp + 0x14]
call fcn.100447aa
mov dword [ebx + 4], eax
mov eax, dword [esi + 0x14]
mov dword [ebx], eax
call fcn.100449c1
add esp, 0xc
mov esp, dword [esi + 8]
mov ecx, edi
call fcn.10044048
mov esp, dword [esi + 0xc]
mov eax, dword [edi + 0x14]
cmp eax, 2
jg 0x1013fd84
test eax, eax
jne 0x1013fd6c
mov dword [esi + 0xc], esp
xor eax, eax
dec eax
mov dword [esi + 0x1a4], eax
mov dword [esi + 0x1a8], eax
mov dword [esi + 0x1ac], eax
push eax
mov ebx, esp
mov dword [esi + 8], esp
sub esp, 0xc
mov edi, esp
mov eax, dword [ebp + 0x14]
mov ecx, eax
call fcn.100447aa
mov dword [edi + 8], eax
mov eax, dword [ebp + 0x1c]
mov ecx, eax
call fcn.100447aa
mov dword [edi + 4], eax
mov dword [edi], ebx
call fcn.10045f2e
add esp, 0xc
mov esp, dword [esi + 8]
lea ecx, [esi + 0x1a4]
call fcn.100448a6
mov esp, dword [esi + 0xc]
xor eax, eax
dec eax
mov dword [esi + 0x198], eax
mov dword [esi + 0x19c], eax
mov dword [esi + 0x1a0], eax
push eax
mov ebx, esp
mov dword [esi + 8], esp
sub esp, 0x10
mov edi, esp
lea ecx, [esi + 0x1a4]
call fcn.100447aa
mov dword [edi + 4], eax
mov dword [edi], ebx
mov eax, dword [ebp + 0x18]
mov dword [edi + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [edi + 0xc], eax
call fcn.1003e094
add esp, 0x10
mov esp, dword [esi + 8]
lea ecx, [esi + 0x198]
call fcn.10045d5c
mov esp, dword [esi + 0xc]
xor eax, eax
dec eax
mov dword [esi + 0x18c], eax
mov dword [esi + 0x190], eax
mov dword [esi + 0x194], eax
push eax
mov ebx, esp
mov dword [esi + 8], esp
sub esp, 0x10
mov edi, esp
lea ecx, [esi + 0x1a4]
call fcn.100447aa
mov dword [edi + 4], eax
mov dword [edi], ebx
mov eax, dword [ebp + 0x10]
mov dword [edi + 8], eax
mov eax, dword [ebp + 0x18]
mov dword [edi + 0xc], eax
call fcn.1003e094
add esp, 0x10
mov esp, dword [esi + 8]
lea ecx, [esi + 0x18c]
call fcn.10045d5c
mov esp, dword [esi + 0xc]
xor eax, eax
dec eax
mov dword [esi + 0x180], eax
mov dword [esi + 0x184], eax
mov dword [esi + 0x188], eax
push eax
mov ebx, esp
mov dword [esi + 8], esp
sub esp, 0x10
mov edi, esp
lea ecx, [esi + 0x1a4]
call fcn.100447aa
mov dword [edi + 4], eax
mov dword [edi], ebx
mov eax, dword [ebp + 0x1c]
mov dword [edi + 8], eax
mov eax, dword [ebp + 0x14]
mov dword [edi + 0xc], eax
call fcn.1003e094
add esp, 0x10
mov esp, dword [esi + 8]
lea ecx, [esi + 0x180]
call fcn.10045d5c
mov esp, dword [esi + 0xc]
xor eax, eax
dec eax
mov dword [esi + 0x174], eax
mov dword [esi + 0x178], eax
mov dword [esi + 0x17c], eax
push eax
mov ebx, esp
mov dword [esi + 8], esp
sub esp, 0x10
mov edi, esp
lea ecx, [esi + 0x1a4]
call fcn.100447aa
mov dword [edi + 4], eax
mov dword [edi], ebx
mov eax, dword [ebp + 0x14]
mov dword [edi + 8], eax
mov eax, dword [ebp + 0x1c]
mov dword [edi + 0xc], eax
call fcn.1003e094
add esp, 0x10
mov esp, dword [esi + 8]
lea ecx, [esi + 0x174]
call fcn.10045d5c
mov esp, dword [esi + 0xc]
mov dword [esi + 8], esp
xor eax, eax
dec eax
mov dword [esi + 0x168], eax
mov dword [esi + 0x16c], eax
mov dword [esi + 0x170], eax
push eax
mov dword [esi + 0x18], esp
mov dword [esi + 0x14], esp
sub esp, 0xc
mov dword [esi + 0xc], esp
mov dword [esi + 0x10], esp
sub esp, 8
mov ebx, esp
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov edi, esp
mov eax, dword [ebp + 0xc]
mov ecx, eax
call fcn.100447aa
mov dword [edi + 4], eax
mov dword [edi], ebx
mov dword [edi + 8], 0x18120
call fcn.10047b29
add esp, 0xc
mov esp, dword [esi + 0x1c]
xor eax, eax
inc eax
mov dword [ebx + 4], eax
lea edi, [esi + 0x140]
mov ecx, edi
call fcn.10044144
mov esp, dword [esi + 0x10]
mov ebx, dword [esi + 0x14c]
mov ecx, edi
call fcn.100447aa
mov edi, eax
call fcn.1003c4d0
xor ecx, ecx
push ecx
push ecx
push ebx
push ecx
push eax
push edi
call fcn.1003cd7a
add esp, 0x18
mov dword [esi + 0x10], esp
mov ecx, dword [esi + 0xc]
mov dword [ecx + 8], eax
mov eax, 4
add ecx, eax
mov dword [esi + 0x1c], ecx
sub esp, 0xc
mov ebx, esp
mov dword [esi + 0x24], esp
add eax, ebx
mov dword [esi + 0x20], eax
sub esp, 0xc
mov edi, esp
mov eax, 0xf
push eax
call fcn.1003d090
add esp, 4
mov dword [edi + 8], eax
lea ecx, [esi + 0x180]
call fcn.100447aa
mov dword [edi + 4], eax
mov eax, dword [esi + 0x20]
mov dword [edi], eax
call fcn.10044d3c
add esp, 0xc
mov esp, dword [esi + 0x24]
mov eax, 4
push eax
call fcn.1003d090
add esp, 4
mov dword [ebx + 8], eax
mov eax, dword [esi + 0x1c]
mov dword [ebx], eax
call fcn.10045ea3
add esp, 0xc
mov esp, dword [esi + 0x10]
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
call fcn.10045f85
add esp, 0xc
mov esp, dword [esi + 0x14]
lea ecx, [esi + 0x168]
call fcn.10045d5c
mov esp, dword [esi + 8]
lea ecx, [esi + 0x140]
call fcn.10048de8
mov dword [esi + 8], esp
xor eax, eax
dec eax
mov dword [esi + 0x15c], eax
mov dword [esi + 0x160], eax
mov dword [esi + 0x164], eax
push eax
mov dword [esi + 0x18], esp
mov dword [esi + 0x14], esp
sub esp, 0xc
mov dword [esi + 0xc], esp
mov dword [esi + 0x10], esp
sub esp, 8
mov ebx, esp
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov edi, esp
mov ecx, dword [ebp + 0xc]
call fcn.100447aa
mov dword [edi + 4], eax
mov dword [edi], ebx
mov dword [edi + 8], 0x18124
call fcn.10047b29
add esp, 0xc
mov esp, dword [esi + 0x1c]
xor eax, eax
inc eax
mov dword [ebx + 4], eax
lea edi, [esi + 0x140]
mov ecx, edi
call fcn.10044144
mov esp, dword [esi + 0x10]
mov ebx, dword [esi + 0x14c]
mov ecx, edi
call fcn.100447aa
mov edi, eax
call fcn.1003c4d0
xor ecx, ecx
push ecx
push ecx
xor ecx, ecx
push ebx
push ecx
push eax
push edi
call fcn.1003cd7a
add esp, 0x18
mov dword [esi + 0x10], esp
mov ecx, dword [esi + 0xc]
mov dword [ecx + 8], eax
mov eax, 4
add ecx, eax
mov dword [esi + 0x1c], ecx
sub esp, 0xc
mov ebx, esp
mov dword [esi + 0x24], esp
add eax, ebx
mov dword [esi + 0x20], eax
sub esp, 0xc
mov edi, esp
mov eax, 0xf
push eax
call fcn.1003d090
add esp, 4
mov dword [edi + 8], eax
lea ecx, [esi + 0x174]
call fcn.100447aa
mov dword [edi + 4], eax
mov eax, dword [esi + 0x20]
mov dword [edi], eax
call fcn.10044d3c
add esp, 0xc
mov esp, dword [esi + 0x24]
mov eax, 4
push eax
call fcn.1003d090
add esp, 4
mov dword [ebx + 8], eax
mov eax, dword [esi + 0x1c]
mov dword [ebx], eax
call fcn.10045ea3
add esp, 0xc
mov esp, dword [esi + 0x10]
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
call fcn.10045fc1
add esp, 0xc
mov esp, dword [esi + 0x14]
lea ecx, [esi + 0x15c]
call fcn.10045d5c
mov esp, dword [esi + 8]
lea ecx, [esi + 0x140]
call fcn.10048de8
mov dword [esi + 0xc], esp
xor eax, eax
dec eax
mov dword [esi + 0x154], eax
mov dword [esi + 0x150], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x140], xmm0
push eax
mov ebx, esp
mov dword [esi + 8], esp
sub esp, 0xc
mov edi, esp
lea ecx, [esi + 0x15c]
call fcn.100447aa
mov dword [edi + 8], eax
lea ecx, [esi + 0x168]
call fcn.100447aa
mov dword [edi + 4], eax
mov dword [edi], ebx
call fcn.10045f2e
add esp, 0xc
mov esp, dword [esi + 8]
lea ecx, [esi + 0x140]
call fcn.10044048
mov esp, dword [esi + 0xc]
mov eax, dword [esi + 0x154]
cmp eax, 2
jg 0x1013fd14
test eax, eax
jne 0x1013fd00
mov dword [esi + 0xc], esp
xor eax, eax
dec eax
mov dword [esi + 0x134], eax
mov dword [esi + 0x138], eax
mov dword [esi + 0x13c], eax
push eax
push eax
mov ebx, esp
mov dword [esi + 8], esp
sub esp, 0xc
mov edi, esp
mov eax, dword [ebp + 0xc]
mov ecx, eax
call fcn.100447aa
mov dword [edi + 4], eax
mov dword [edi], ebx
mov dword [edi + 8], 0x18118
call fcn.10047b29
add esp, 0xc
mov esp, dword [esi + 8]
xor eax, eax
inc eax
mov dword [ebx + 4], eax
lea ebx, [esi + 0x120]
mov ecx, ebx
call fcn.10044144
mov esp, dword [esi + 0xc]
mov edi, dword [esi + 0x12c]
mov ecx, ebx
call fcn.100447aa
mov dword [esi + 0x104], edi
mov dword [esi + 0x100], eax
lea ecx, [esi + 0x134]
lea eax, [esi + 0x100]
push eax
call fcn.10045daa
mov ecx, ebx
call fcn.10048de8
mov dword [esi + 0xc], esp
xor eax, eax
dec eax
mov dword [esi + 0x114], eax
mov dword [esi + 0x118], eax
mov dword [esi + 0x11c], eax
sub esp, 8
mov ebx, esp
mov dword [esi + 8], esp
sub esp, 0xc
mov edi, esp
mov ecx, dword [ebp + 0xc]
call fcn.100447aa
mov dword [edi + 4], eax
mov dword [edi], ebx
mov dword [edi + 8], 0x1811c
call fcn.10047b29
add esp, 0xc
mov esp, dword [esi + 8]
xor eax, eax
inc eax
mov dword [ebx + 4], eax
lea ebx, [esi + 0x120]
mov ecx, ebx
call fcn.10044144
mov esp, dword [esi + 0xc]
mov edi, dword [esi + 0x12c]
mov ecx, ebx
call fcn.100447aa
mov dword [esi + 0x104], edi
mov dword [esi + 0x100], eax
lea ecx, [esi + 0x114]
lea eax, [esi + 0x100]
push eax
call fcn.10045daa
mov ecx, ebx
call fcn.10048de8
mov dword [esi + 0xc], esp
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x120], xmm0
push eax
mov dword [esi + 0x14], esp
mov dword [esi + 8], esp
sub esp, 0xc
mov ecx, esp
mov dword [esi + 0x10], ecx
mov dword [esi + 0x18], esp
mov eax, 4
add eax, ecx
mov dword [esi + 0x1c], eax
sub esp, 0xc
mov ebx, esp
mov dword [esi + 0x24], esp
mov eax, 8
add eax, ebx
mov dword [esi + 0x20], eax
sub esp, 0xc
mov edi, esp
mov eax, 0x98c0
push eax
call fcn.1003d090
add esp, 4
mov dword [edi + 8], eax
mov eax, dword [ebp + 0x20]
mov ecx, eax
call fcn.100447aa
mov dword [edi + 4], eax
mov eax, dword [esi + 0x20]
mov dword [edi], eax
call fcn.1004556c
add esp, 0xc
mov esp, dword [esi + 0x24]
mov eax, dword [ebp + 8]
mov ecx, eax
call fcn.100447aa
mov dword [ebx + 4], eax
mov eax, dword [esi + 0x1c]
mov dword [ebx], eax
call fcn.10047b5e
add esp, 0xc
mov esp, dword [esi + 0x18]
mov ebx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov dword [eax], ebx
mov dword [eax + 8], 0x18b0
call fcn.10047b29
add esp, 0xc
mov esp, dword [esi + 8]
lea edi, [esi + 0x120]
mov ecx, edi
call fcn.100446fc
mov eax, 0x10211324
mov dword [esi + 0x120], eax
xor eax, eax
inc eax
mov dword [esi + 0x12c], eax
mov ecx, edi
push dword [ebx]
call fcn.10044766
mov esp, dword [esi + 0xc]
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x100], xmm0
push eax
mov dword [esi + 0x14], esp
mov dword [esi + 8], esp
sub esp, 0xc
mov ecx, esp
mov dword [esi + 0x10], ecx
mov dword [esi + 0x18], esp
mov eax, 4
add eax, ecx
mov dword [esi + 0x1c], eax
sub esp, 0xc
mov ebx, esp
mov dword [esi + 0x24], esp
mov eax, 8
add eax, ebx
mov dword [esi + 0x20], eax
sub esp, 0xc
mov edi, esp
mov eax, 0x98c0
push eax
call fcn.1003d090
add esp, 4
mov dword [edi + 8], eax
mov ecx, dword [ebp + 0x20]
call fcn.100447aa
mov dword [edi + 4], eax
mov eax, dword [esi + 0x20]
mov dword [edi], eax
call fcn.1004556c
add esp, 0xc
mov esp, dword [esi + 0x24]
mov ecx, dword [ebp + 8]
call fcn.100447aa
mov dword [ebx + 4], eax
mov eax, dword [esi + 0x1c]
mov dword [ebx], eax
call fcn.10047b5e
add esp, 0xc
mov esp, dword [esi + 0x18]
mov ebx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov dword [eax], ebx
mov dword [eax + 8], 0x18b2
call fcn.10047b29
add esp, 0xc
mov esp, dword [esi + 8]
lea edi, [esi + 0x100]
mov ecx, edi
call fcn.100446fc
mov eax, 0x10211324
mov dword [esi + 0x100], eax
xor eax, eax
inc eax
mov dword [esi + 0x10c], eax
mov ecx, edi
push dword [ebx]
call fcn.10044766
mov esp, dword [esi + 0xc]
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0xf0], xmm0
push eax
mov ebx, esp
mov dword [esi + 8], esp
sub esp, 0x10
mov edi, esp
lea ecx, [esi + 0x1a4]
call fcn.100447aa
mov dword [edi + 4], eax
mov dword [edi], ebx
lea eax, [esi + 0x100]
mov dword [edi + 8], eax
lea eax, [esi + 0x120]
mov dword [edi + 0xc], eax
call fcn.1003e094
add esp, 0x10
mov esp, dword [esi + 8]
lea edi, [esi + 0xf0]
mov ecx, edi
call fcn.100446fc
mov eax, 0x10211324
mov dword [esi + 0xf0], eax
xor eax, eax
inc eax
mov dword [esi + 0xfc], eax
mov ecx, edi
push dword [ebx]
call fcn.10044766
mov esp, dword [esi + 0xc]
xor eax, eax
dec eax
mov dword [esi + 0xe4], eax
mov dword [esi + 0xe8], eax
mov dword [esi + 0xec], eax
push eax
mov ebx, esp
mov dword [esi + 8], esp
sub esp, 0xc
mov edi, esp
lea ecx, [esi + 0x198]
call fcn.100447aa
mov dword [edi + 8], eax
lea ecx, [esi + 0x18c]
call fcn.100447aa
mov dword [edi + 4], eax
mov dword [edi], ebx
call fcn.10044d59
add esp, 0xc
mov esp, dword [esi + 8]
lea ecx, [esi + 0xe4]
call fcn.10045d5c
mov esp, dword [esi + 0xc]
xor eax, eax
dec eax
mov dword [esi + 0xd8], eax
mov dword [esi + 0xdc], eax
mov dword [esi + 0xe0], eax
push eax
mov ebx, esp
mov dword [esi + 8], esp
sub esp, 0xc
mov edi, esp
lea ecx, [esi + 0x180]
call fcn.100447aa
mov dword [edi + 8], eax
lea ecx, [esi + 0x174]
call fcn.100447aa
mov dword [edi + 4], eax
mov dword [edi], ebx
call fcn.10044d59
add esp, 0xc
mov esp, dword [esi + 8]
lea ecx, [esi + 0xd8]
call fcn.10045d5c
mov esp, dword [esi + 0xc]
xor eax, eax
dec eax
mov dword [esi + 0xcc], eax
mov dword [esi + 0xd0], eax
mov dword [esi + 0xd4], eax
push eax
mov ebx, esp
mov dword [esi + 8], esp
sub esp, 0xc
mov edi, esp
lea ecx, [esi + 0xe4]
call fcn.100447aa
mov dword [edi + 4], eax
mov eax, 4
push eax
call fcn.1003d090
add esp, 4
mov dword [edi + 8], eax
mov dword [edi], ebx
call fcn.10045e86
add esp, 0xc
mov esp, dword [esi + 8]
lea ecx, [esi + 0xcc]
call fcn.10045d5c
mov esp, dword [esi + 0xc]
xor eax, eax
dec eax
mov dword [esi + 0xc0], eax
mov dword [esi + 0xc4], eax
mov dword [esi + 0xc8], eax
push eax
mov ebx, esp
mov dword [esi + 8], esp
sub esp, 0xc
mov edi, esp
lea ecx, [esi + 0xd8]
call fcn.100447aa
mov dword [edi + 4], eax
mov eax, 4
push eax
call fcn.1003d090
add esp, 4
mov dword [edi + 8], eax
mov dword [edi], ebx
call fcn.10045e86
add esp, 0xc
mov esp, dword [esi + 8]
lea ecx, [esi + 0xc0]
call fcn.10045d5c
mov esp, dword [esi + 0xc]
mov dword [esi + 8], esp
xor eax, eax
dec eax
mov dword [esi + 0xb4], eax
mov dword [esi + 0xb8], eax
mov dword [esi + 0xbc], eax
push eax
mov dword [esi + 0x18], esp
mov dword [esi + 0x14], esp
sub esp, 0xc
mov ecx, esp
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], esp
mov eax, 8
add eax, ecx
mov dword [esi + 0x1c], eax
sub esp, 0xc
mov ebx, esp
lea ecx, [esi + 0xd8]
call fcn.100447aa
mov dword [esi + 0x24], esp
mov dword [ebx + 8], eax
mov eax, 4
add eax, ebx
mov dword [esi + 0x20], eax
sub esp, 0xc
mov edi, esp
push 0xf
call fcn.1003d090
add esp, 4
mov dword [edi + 8], eax
lea ecx, [esi + 0x198]
call fcn.100447aa
mov dword [edi + 4], eax
mov eax, dword [esi + 0x20]
mov dword [edi], eax
call fcn.10044926
add esp, 0xc
mov esp, dword [esi + 0x24]
mov eax, dword [esi + 0x1c]
mov dword [ebx], eax
call fcn.1004556c
add esp, 0xc
mov esp, dword [esi + 0x10]
mov edi, 4
mov eax, dword [esi + 0xc]
add eax, edi
mov dword [esi + 0x1c], eax
push eax
sub esp, 8
mov ecx, esp
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], esp
mov eax, 8
add eax, ecx
mov dword [esi + 0x30], eax
sub esp, 0xc
mov ebx, esp
lea ecx, [esi + 0x180]
call fcn.100447aa
mov dword [esi + 0x2c], esp
mov dword [ebx + 8], eax
lea eax, [ebx + edi]
mov dword [esi + 0x28], eax
sub esp, 0xc
mov edi, esp
lea ecx, [esi + 0x168]
call fcn.100447aa
mov dword [edi + 4], eax
mov eax, 4
push eax
call fcn.1003d090
add esp, 4
mov dword [edi + 8], eax
mov eax, dword [esi + 0x28]
mov dword [edi], eax
call fcn.10045e86
add esp, 0xc
mov esp, dword [esi + 0x2c]
mov eax, dword [esi + 0x30]
mov dword [ebx], eax
call fcn.10044d59
add esp, 0xc
mov esp, dword [esi + 0x20]
lea ecx, [esi + 0xe4]
call fcn.100447aa
mov ecx, dword [esi + 0x24]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x1c]
mov dword [ecx], eax
call fcn.1004556c
add esp, 0xc
mov esp, dword [esi + 0x10]
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
call fcn.10044d3c
add esp, 0xc
mov esp, dword [esi + 0x14]
lea ecx, [esi + 0xb4]
call fcn.10045d5c
mov esp, dword [esi + 8]
mov dword [esi + 0xc], esp
xor eax, eax
dec eax
mov dword [esi + 0xa8], eax
mov dword [esi + 0xac], eax
mov dword [esi + 0xb0], eax
push eax
mov dword [esi + 0x14], esp
mov dword [esi + 8], esp
sub esp, 0xc
mov ebx, esp
mov dword [esi + 0x18], esp
mov eax, 8
add eax, ebx
mov dword [esi + 0x10], eax
sub esp, 0xc
mov edi, esp
lea ecx, [esi + 0xc0]
call fcn.100447aa
mov dword [edi + 8], eax
lea ecx, [esi + 0xb4]
call fcn.100447aa
mov dword [edi + 4], eax
mov eax, dword [esi + 0x10]
mov dword [edi], eax
call fcn.10045e4c
add esp, 0xc
mov esp, dword [esi + 0x18]
mov eax, 4
add eax, ebx
mov dword [esi + 0x10], eax
push eax
sub esp, 8
mov edi, esp
lea ecx, [esi + 0x198]
call fcn.100447aa
mov dword [edi + 4], eax
mov eax, 4
push eax
call fcn.1003d090
add esp, 4
mov dword [edi + 8], eax
mov eax, dword [esi + 0x10]
mov dword [edi], eax
call fcn.10045ea3
add esp, 0xc
mov esp, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov dword [ebx], eax
call fcn.10044d3c
add esp, 0xc
mov esp, dword [esi + 8]
lea ecx, [esi + 0xa8]
call fcn.10045d5c
mov esp, dword [esi + 0xc]
xor eax, eax
dec eax
mov dword [esi + 0x9c], eax
mov dword [esi + 0xa0], eax
mov dword [esi + 0xa4], eax
push eax
mov ebx, esp
mov dword [esi + 8], esp
sub esp, 0xc
mov edi, esp
lea ecx, [esi + 0xc0]
call fcn.100447aa
mov dword [edi + 8], eax
lea ecx, [esi + 0xb4]
call fcn.100447aa
mov dword [edi + 4], eax
mov dword [edi], ebx
call fcn.10045e69
add esp, 0xc
mov esp, dword [esi + 8]
lea ecx, [esi + 0x9c]
call fcn.10045d5c
mov esp, dword [esi + 0xc]
xor eax, eax
dec eax
mov dword [esi + 0x90], eax
mov dword [esi + 0x94], eax
mov dword [esi + 0x98], eax
push eax
mov dword [esi + 0x14], esp
mov dword [esi + 8], esp
sub esp, 0xc
mov edi, esp
mov dword [esi + 0x18], esp
mov eax, 4
add eax, edi
mov dword [esi + 0x10], eax
sub esp, 8
mov ebx, esp
lea ecx, [esi + 0x9c]
call fcn.100447aa
mov dword [ebx + 4], eax
mov eax, dword [esi + 0x10]
mov dword [ebx], eax
call fcn.10045657
add esp, 8
mov esp, dword [esi + 0x18]
mov eax, 0x1f
push eax
call fcn.1003d090
add esp, 4
mov dword [edi + 8], eax
mov eax, dword [esi + 0x14]
mov dword [edi], eax
call fcn.10045ea3
add esp, 0xc
mov esp, dword [esi + 8]
lea ecx, [esi + 0x90]
call fcn.10045d5c
mov esp, dword [esi + 0xc]
mov edi, esp
push eax
sub esp, 8
mov ebx, esp
lea ecx, [esi + 0x90]
call fcn.100447aa
mov dword [ebx + 8], eax
lea eax, [esi + 0x38]
mov dword [ebx], eax
lea eax, [esi + 0xa8]
mov dword [ebx + 4], eax
call fcn.10045ec0
add esp, 0xc
mov esp, edi
mov dword [esi + 0xc], esp
push eax
sub esp, 8
mov ebx, esp
mov dword [esi + 8], esp
mov eax, 8
add eax, ebx
mov dword [esi + 0x14], eax
sub esp, 0xc
mov edi, esp
lea ecx, [esi + 0xc0]
call fcn.100447aa
mov dword [edi + 8], eax
lea ecx, [esi + 0x90]
call fcn.100447aa
mov dword [edi + 4], eax
mov eax, dword [esi + 0x14]
mov dword [edi], eax
call fcn.10044926
add esp, 0xc
mov esp, dword [esi + 8]
lea eax, [esi + 0x38]
mov dword [ebx], eax
lea eax, [esi + 0x9c]
mov dword [ebx + 4], eax
call fcn.10045ec0
add esp, 0xc
mov esp, dword [esi + 0xc]
xor eax, eax
dec eax
mov dword [esi + 0x84], eax
mov dword [esi + 0x88], eax
mov dword [esi + 0x8c], eax
push eax
mov ebx, esp
mov dword [esi + 8], esp
sub esp, 0xc
mov edi, esp
lea ecx, [esi + 0xc0]
call fcn.100447aa
mov dword [edi + 8], eax
lea ecx, [esi + 0xcc]
call fcn.100447aa
mov dword [edi + 4], eax
mov dword [edi], ebx
call fcn.10045e4c
add esp, 0xc
mov esp, dword [esi + 8]
lea ecx, [esi + 0x84]
call fcn.10045d5c
mov esp, dword [esi + 0xc]
xor eax, eax
dec eax
mov dword [esi + 0x78], eax
mov dword [esi + 0x7c], eax
mov dword [esi + 0x80], eax
push eax
mov ebx, esp
mov dword [esi + 8], esp
sub esp, 0xc
mov edi, esp
lea ecx, [esi + 0xc0]
call fcn.100447aa
mov dword [edi + 8], eax
lea ecx, [esi + 0xcc]
call fcn.100447aa
mov dword [edi + 4], eax
mov dword [edi], ebx
call fcn.10045e69
add esp, 0xc
mov esp, dword [esi + 8]
lea ecx, [esi + 0x78]
call fcn.10045d5c
mov esp, dword [esi + 0xc]
xor eax, eax
dec eax
mov dword [esi + 0x6c], eax
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], eax
push eax
mov ebx, esp
mov dword [esi + 8], esp
sub esp, 0xc
mov edi, esp
lea ecx, [esi + 0x78]
call fcn.100447aa
mov dword [edi + 4], eax
mov eax, 0x1f
push eax
call fcn.1003d090
add esp, 4
mov dword [edi + 8], eax
mov dword [edi], ebx
call fcn.10045ea3
add esp, 0xc
mov esp, dword [esi + 8]
lea ecx, [esi + 0x6c]
call fcn.10045d5c
mov esp, dword [esi + 0xc]
mov edi, esp
push eax
sub esp, 8
mov ebx, esp
lea ecx, [esi + 0x6c]
call fcn.100447aa
mov dword [ebx + 8], eax
lea eax, [esi + 0x38]
mov dword [ebx], eax
lea eax, [esi + 0x84]
mov dword [ebx + 4], eax
call fcn.10044d93
add esp, 0xc
mov esp, edi
mov dword [esi + 0xc], esp
push eax
sub esp, 8
mov ebx, esp
mov dword [esi + 8], esp
mov eax, 8
add eax, ebx
mov dword [esi + 0x14], eax
sub esp, 0xc
mov edi, esp
lea ecx, [esi + 0xc0]
call fcn.100447aa
mov dword [edi + 8], eax
lea ecx, [esi + 0x6c]
call fcn.100447aa
mov dword [edi + 4], eax
mov eax, dword [esi + 0x14]
mov dword [edi], eax
call fcn.10044926
add esp, 0xc
mov esp, dword [esi + 8]
lea eax, [esi + 0x38]
mov dword [ebx], eax
lea eax, [esi + 0x78]
mov dword [ebx + 4], eax
call fcn.10044d93
add esp, 0xc
mov esp, dword [esi + 0xc]
xor edi, edi
dec edi
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], edi
mov dword [esi + 0x68], edi
lea ecx, [esi + 0x60]
lea eax, [esi + 0xc0]
push eax
call fcn.10045d7e
mov dword [esi + 0x54], edi
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], edi
lea ecx, [esi + 0x54]
lea eax, [esi + 0x168]
push eax
call fcn.10045d7e
call fcn.1003c4da
mov edi, eax
mov dword [esi + 0xc], eax
push eax
call fcn.1003c692
add esp, 4
push edi
call fcn.1003c4f4
add esp, 4
mov dword [esi + 8], esp
sub esp, 8
mov ebx, esp
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], esp
push eax
mov dword [esi + 0x1c], esp
mov dword [esi + 0x10], esp
sub esp, 0x10
mov edi, esp
lea ecx, [esi + 0x114]
call fcn.100447aa
mov dword [edi + 0xc], eax
lea ecx, [esi + 0x134]
call fcn.100447aa
mov dword [edi + 8], eax
lea ecx, [esi + 0xa8]
call fcn.100447aa
mov dword [edi + 4], eax
mov eax, dword [esi + 0x1c]
mov dword [edi], eax
call fcn.10045ffd
add esp, 0x10
mov esp, dword [esi + 0x10]
lea edi, [esi + 0x48]
mov ecx, edi
call fcn.10044a0e
mov esp, dword [esi + 0x18]
mov ecx, edi
call fcn.100447aa
mov dword [esi + 0x18], esp
mov dword [ebx + 4], eax
sub esp, 8
mov dword [esi + 0x1c], esp
mov dword [esi + 0x10], esp
sub esp, 0xc
mov ebx, esp
mov dword [esi + 0x24], esp
lea eax, [ebx + 8]
mov dword [esi + 0x20], eax
sub esp, 0xc
mov edi, esp
mov eax, 4
push eax
call fcn.1003d090
add esp, 4
mov dword [edi + 8], eax
lea ecx, [esi + 0x54]
call fcn.100447aa
mov dword [edi + 4], eax
mov eax, dword [esi + 0x20]
mov dword [edi], eax
call fcn.1004556c
add esp, 0xc
mov esp, dword [esi + 0x24]
lea ecx, [esi + 0xf0]
call fcn.100447aa
mov dword [ebx + 4], eax
mov edi, dword [esi + 0x1c]
mov dword [ebx], edi
call fcn.10047b5e
add esp, 0xc
mov esp, dword [esi + 0x10]
xor eax, eax
inc eax
mov dword [edi + 4], eax
lea edi, [esi + 0x38]
mov ecx, edi
call fcn.100ac676
mov esp, dword [esi + 0x18]
mov eax, dword [esi + 0x44]
mov dword [esi + 0x18], eax
mov ecx, edi
call fcn.100447aa
mov edi, eax
lea eax, [esi + 0x34]
mov ebx, dword [esi + 0x14]
mov dword [ebx], eax
call fcn.1003d770
mov ebx, dword [ebx + 4]
xor ecx, ecx
push ecx
push ecx
push dword [esi + 0x18]
push ecx
push eax
push edi
push ebx
call fcn.1003cf56
add esp, 0x1c
mov dword [esi + 0x34], ebx
mov esp, dword [esi + 8]
lea ecx, [esi + 0x38]
call fcn.10048de8
lea ecx, [esi + 0x48]
call fcn.10048de8
mov edi, esp
sub esp, 0xc
mov ebx, esp
lea ecx, [esi + 0x84]
call fcn.100447aa
mov dword [ebx + 8], eax
lea eax, [esi + 0x38]
mov dword [ebx], eax
lea eax, [esi + 0xa8]
mov dword [ebx + 4], eax
call fcn.10044d93
add esp, 0xc
mov esp, edi
mov edi, esp
push eax
sub esp, 8
mov ebx, esp
lea ecx, [esi + 0x78]
call fcn.100447aa
mov dword [ebx + 8], eax
lea eax, [esi + 0x38]
mov dword [ebx], eax
lea eax, [esi + 0x9c]
mov dword [ebx + 4], eax
call fcn.10044d93
add esp, 0xc
mov esp, edi
mov dword [esi + 8], esp
xor eax, eax
dec eax
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], eax
push eax
mov dword [esi + 0x18], esp
mov dword [esi + 0x14], esp
sub esp, 0xc
mov edi, esp
mov dword [esi + 0x10], esp
mov eax, 4
add eax, edi
mov dword [esi + 0x1c], eax
sub esp, 8
mov ebx, esp
lea ecx, [esi + 0x9c]
call fcn.100447aa
mov dword [ebx + 4], eax
mov eax, dword [esi + 0x1c]
mov dword [ebx], eax
call fcn.10045657
add esp, 8
mov esp, dword [esi + 0x10]
mov eax, 0x1f
push eax
call fcn.1003d090
add esp, 4
mov dword [edi + 8], eax
mov eax, dword [esi + 0x18]
mov dword [edi], eax
call fcn.10045ea3
add esp, 0xc
mov esp, dword [esi + 0x14]
lea ecx, [esi + 0x38]
call fcn.10045d5c
mov esp, dword [esi + 8]
push eax
sub esp, 8
mov ebx, esp
mov dword [esi + 0x14], esp
lea eax, [ebx + 8]
mov dword [esi + 0x18], eax
sub esp, 0xc
mov edi, esp
lea ecx, [esi + 0x38]
call fcn.100447aa
mov dword [edi + 8], eax
lea ecx, [esi + 0x60]
call fcn.100447aa
mov dword [edi + 4], eax
mov eax, dword [esi + 0x18]
mov dword [edi], eax
call fcn.10044926
add esp, 0xc
mov esp, dword [esi + 0x14]
lea eax, [esi + 0x48]
mov dword [ebx], eax
lea eax, [esi + 0x9c]
mov dword [ebx + 4], eax
call fcn.10045ec0
add esp, 0xc
mov esp, dword [esi + 8]
mov edi, esp
push eax
sub esp, 8
mov ebx, esp
lea ecx, [esi + 0x38]
call fcn.100447aa
mov dword [ebx + 8], eax
lea eax, [esi + 0x48]
mov dword [ebx], eax
lea eax, [esi + 0xa8]
mov dword [ebx + 4], eax
call fcn.10045ec0
add esp, 0xc
mov esp, edi
xor eax, eax
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [esi + 0x48]
push eax
call fcn.1003f6e9
add esp, 0xc
lea ecx, [esi + 0x38]
call fcn.10048de8
call fcn.1003c4da
mov edi, eax
mov dword [esi + 8], esp
sub esp, 0xc
mov ebx, esp
lea ecx, [esi + 0x15c]
call fcn.100447aa
mov dword [ebx + 8], eax
lea ecx, [esi + 0x54]
call fcn.100447aa
mov dword [ebx + 4], eax
lea eax, [esi + 0x38]
mov dword [ebx], eax
call fcn.10045f68
add esp, 0xc
mov esp, dword [esi + 8]
push dword [esi + 0xc]
push edi
push dword [esi + 0x38]
call fcn.1003c6ce
add esp, 0xc
push edi
call fcn.1003c4f4
add esp, 4
lea ecx, [esi + 0x54]
call fcn.10048de8
lea ecx, [esi + 0x60]
call fcn.10048de8
lea ecx, [esi + 0x6c]
call fcn.10048de8
lea ecx, [esi + 0x78]
call fcn.10048de8
lea ecx, [esi + 0x84]
call fcn.10048de8
lea ecx, [esi + 0x90]
call fcn.10048de8
lea ecx, [esi + 0x9c]
call fcn.10048de8
lea ecx, [esi + 0xa8]
call fcn.10048de8
lea ecx, [esi + 0xb4]
call fcn.10048de8
lea ecx, [esi + 0xc0]
call fcn.10048de8
lea ecx, [esi + 0xcc]
call fcn.10048de8
lea ecx, [esi + 0xd8]
call fcn.10048de8
lea ecx, [esi + 0xe4]
call fcn.10048de8
lea ecx, [esi + 0xf0]
call fcn.10048de8
lea ecx, [esi + 0x100]
call fcn.10048de8
lea ecx, [esi + 0x120]
call fcn.10048de8
lea ecx, [esi + 0x114]
call fcn.10048de8
lea ecx, [esi + 0x134]
call fcn.10048de8
mov eax, dword [esi + 0x154]
lea ecx, [eax + 1]
mov dword [esi + 0x154], ecx
cmp eax, 2
mov eax, ecx
jl 0x1013ef83
lea ecx, [esi + 0x140]
call fcn.100440c8
lea ecx, [esi + 0x15c]
call fcn.10048de8
lea ecx, [esi + 0x168]
call fcn.10048de8
lea ecx, [esi + 0x174]
call fcn.10048de8
lea ecx, [esi + 0x180]
call fcn.10048de8
lea ecx, [esi + 0x18c]
call fcn.10048de8
lea ecx, [esi + 0x198]
call fcn.10048de8
lea ecx, [esi + 0x1a4]
call fcn.10048de8
mov ecx, dword [esi + 0x1c4]
lea eax, [ecx + 1]
mov dword [esi + 0x1c4], eax
cmp ecx, 2
jl 0x1013eafe
lea ecx, [esi + 0x1b0]
call fcn.100440c8
mov ecx, dword [esi + 0x1c8]
xor ecx, ebp
call fcn.101d7611
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c