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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x4b0
mov eax, dword [0xa47d50]
xor eax, ebp
mov dword [esp + 0x4a8], eax
call fcn.008839f0
mov ecx, dword [0xa3fa5c]
mov edx, dword [0xa3f890]
mov esi, 0xb000
sub esi, eax
sub edx, esi
add edx, ecx
call edx
mov ebx, eax
mov eax, dword [0xa3f9f0]
mov ecx, dword [0xa3f844]
sub ecx, esi
add ecx, eax
push 0xcb41ba0b
push dword [ebp + 0xc]
call ecx
add esp, 8
test al, 1
je 0x87f66c
mov eax, dword [0xa3fa10]
mov ecx, dword [0xa3f90c]
sub ecx, esi
add ecx, eax
push 0xe4a65ba
push ebx
call ecx
add esp, 8
xor edi, edi
test al, 1
je 0x87fc6d
mov eax, ebx
xor eax, 0xf07c212e
mov ecx, dword [0xa3fb20]
mov edx, dword [0xa3f870]
sub edx, esi
add edx, ecx
push eax
call edx
mov ecx, dword [0xa3fb94]
mov edx, dword [0xa3f970]
sub edx, esi
add edx, ecx
push 0xfe8a77f5
push eax
push ebx
call edx
add esp, 0xc
jmp 0x87fc6d
mov eax, dword [0xa3f9c4]
mov ecx, dword [0xa3f958]
sub ecx, esi
add ecx, eax
push 0xd9cb7de1
push dword [ebp + 8]
call ecx
add esp, 8
xor edi, edi
test al, 1
jne 0x87fc6d
mov eax, dword [0xa3fb90]
mov ecx, dword [0xa3f7b8]
sub ecx, esi
add ecx, eax
lea eax, [esp + 0x74]
push 0xa351d898
push eax
call ecx
add esp, 8
test al, 1
jne 0x87fc6d
mov eax, dword [0xa3fb58]
mov ecx, dword [0xa3f974]
sub ecx, esi
add ecx, eax
lea eax, [esp + 0x73]
lea edx, [esp + 0x7c]
push 0x48680904
push eax
push edx
push dword [esp + 0x80]
call ecx
add esp, 0x10
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x20], eax
movzx eax, byte [esp + 0x73]
mov ecx, dword [0xa3f9e0]
mov edx, dword [0xa3f960]
sub edx, esi
add edx, ecx
push 0x57369708
push eax
call edx
add esp, 8
test al, 1
jne 0x87fc6d
mov eax, dword [0xa3fb2c]
mov ecx, dword [0xa3f8ac]
sub ecx, esi
add ecx, eax
push 0x2a743c67
call ecx
add esp, 4
test al, 1
je 0x87f74c
mov eax, dword [0xa3fab8]
mov ecx, dword [0xa3f7e0]
sub ecx, esi
add ecx, eax
push 0x97289a07
push dword [esp + 0x24]
call ecx
add esp, 8
mov eax, dword [0xa3fb64]
mov ecx, dword [0xa3f8dc]
sub ecx, esi
add ecx, eax
push 0x41baecbe
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x28]
call ecx
add esp, 0xc
mov edx, dword [esp + 0x74]
test al, 1
mov dword [esp + 0x10], edx
je 0x87f7ae
mov eax, dword [0xa3fa68]
mov ecx, dword [0xa3f840]
sub ecx, esi
add ecx, eax
push 0x70da5c67
push edx
call ecx
add esp, 8
test al, 1
je 0x87f7e2
mov eax, dword [0xa3f9b0]
mov ecx, dword [0xa3f900]
sub ecx, esi
add ecx, eax
push 0x4a8c9f7b
jmp 0x87f823
mov eax, dword [0xa3faa8]
mov ecx, dword [0xa3f95c]
sub ecx, esi
add ecx, eax
push 0xda2c6637
push edx
call ecx
add esp, 8
test al, 1
je 0x87f80f
mov eax, dword [0xa3fa64]
mov ecx, dword [0xa3f994]
sub ecx, esi
add ecx, eax
push 0x2bb71b51
jmp 0x87f823
mov eax, dword [0xa3fa0c]
mov ecx, dword [0xa3f894]
sub ecx, esi
add ecx, eax
push 0x3774b22e
push dword [esp + 0x14]
call ecx
add esp, 8
test al, 1
jne 0x87f830
mov byte [0xa3f578], 1
jmp 0x87fc6d
mov eax, dword [0xa3fa28]
mov ecx, dword [0xa3f8f0]
sub ecx, esi
add ecx, eax
push 0x324b01bb
push dword [esp + 0x14]
call ecx
add esp, 8
test al, 1
jne 0x87f803
mov eax, dword [0xa3fa60]
mov ecx, dword [0xa3f978]
sub ecx, esi
add ecx, eax
lea edi, [esp + 0x7b]
push 0xe78e07d3
push edi
lea eax, [esp + 0x7b]
push eax
push dword [esp + 0x1c]
mov dword [esp + 0x34], ebx
push ebx
call ecx
add esp, 0x14
movzx eax, byte [esp + 0x7b]
mov byte [esp + 0x18], al
movzx eax, byte [esp + 0x73]
mov ecx, dword [0xa3fb00]
mov edx, dword [0xa3f884]
sub edx, esi
add edx, ecx
push 0x7f72b834
push edi
lea ecx, [esp + 0x7c]
push ecx
push dword [ebp + 8]
push eax
call edx
add esp, 0x14
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], 0
test al, 1
mov dword [esp + 0xc], esi
je 0x87f9fd
mov ecx, dword [0xa3fab0]
mov eax, dword [0xa3f8ec]
sub eax, esi
add eax, ecx
lea ecx, [esp + 0x90]
movzx edx, byte [esp + 0x18]
push 0xe9a4ff7c
push ecx
lea ebx, [esp + 0x7b]
push ebx
push dword [esp + 0x28]
push edx
call eax
add esp, 0x14
movzx eax, byte [esp + 0x73]
movzx ecx, byte [esp + 0x90]
mov edx, dword [0xa3fb88]
mov edi, esi
mov esi, dword [0xa3f8a4]
sub esi, edi
add esi, edx
push 0x8f9440af
lea edx, [esp + 0x78]
push edx
push ebx
push dword [esp + 0x20]
push ecx
push eax
call esi
add esp, 0x18
movzx eax, byte [esp + 0x73]
mov edi, dword [esp + 0x74]
mov edx, dword [0xa3f9d0]
mov ecx, dword [0xa3f7bc]
mov esi, dword [esp + 0xc]
sub ecx, esi
add ecx, edx
lea edx, [esp + 0x90]
movzx eax, al
push 0x6fdf3b86
push edx
push ebx
mov dword [esp + 0x20], edi
push edi
push eax
mov ebx, dword [esp + 0x30]
push ebx
call ecx
add esp, 0x18
movzx eax, byte [esp + 0x73]
movzx ecx, byte [esp + 0x90]
mov edx, dword [0xa3f9d4]
mov edi, dword [0xa3f7e4]
sub edi, esi
add edi, edx
push 0xbcf24490
push ecx
push eax
call edi
add esp, 0xc
xor edi, edi
test al, 1
je 0x87fc6d
mov eax, dword [0xa3fa94]
mov ecx, dword [0xa3f908]
sub ecx, dword [esp + 0xc]
add ecx, eax
push 0xdbdd9b6c
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x18]
push ebx
push dword [esp + 0x24]
call ecx
add esp, 0x14
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
test al, 1
je 0x87fb5b
mov eax, dword [0xa3fa90]
mov ecx, dword [0xa3f8b8]
mov esi, dword [esp + 0xc]
sub ecx, esi
add ecx, eax
push 0xa7dba7de
mov ebx, dword [esp + 0x14]
push ebx
call ecx
add esp, 8
test al, 1
je 0x87fbed
mov eax, dword [0xa3fa04]
mov ecx, dword [0xa3f924]
sub ecx, esi
add ecx, eax
push 0x430bf3f
push ebx
jmp 0x87fb77
movzx ebx, byte [esp + 0x7b]
mov dword [esp + 0x14], 0
lea edi, [esp + 0x7b]
jmp 0x87fa8e
mov eax, dword [0xa3f9f4]
mov ecx, dword [0xa3f780]
sub ecx, esi
add ecx, eax
movzx eax, bl
push 0x1f4c39a3
push eax
call ecx
add esp, 8
test al, 1
je 0x87fb94
lea ebx, [esp + 0x74]
mov eax, dword [0xa3fb38]
mov ecx, dword [0xa3f878]
sub ecx, esi
add ecx, eax
push 0x712158ba
lea edi, [esp + 0x7f]
push edi
push ebx
push dword [ebp + 8]
push dword [esp + 0x24]
call ecx
add esp, 0x14
mov eax, dword [esp + 0x74]
mov dword [esp + 0x14], eax
movzx ebx, byte [esp + 0x7b]
mov eax, dword [0xa3fb3c]
mov ecx, dword [0xa3f97c]
sub ecx, esi
add ecx, eax
push 0x102394ae
push ebx
call ecx
add esp, 8
test al, 1
jne 0x87f8aa
mov eax, dword [0xa3fb54]
mov ecx, dword [0xa3f964]
sub ecx, esi
add ecx, eax
movzx eax, bl
push 0x8ff968a
push edi
push eax
push dword [esp + 0x30]
call ecx
add esp, 0x10
movzx ebx, byte [esp + 0x7b]
mov eax, dword [0xa3f9ec]
mov ecx, dword [0xa3f864]
sub ecx, esi
add ecx, eax
push 0x9f7e0558
push ebx
call ecx
add esp, 8
test al, 1
je 0x87fa10
mov eax, dword [0xa3fbc4]
mov ecx, dword [0xa3f980]
sub ecx, esi
add ecx, eax
movzx eax, bl
push 0x12b64a6a
push eax
call ecx
add esp, 8
test al, 1
je 0x87fa35
mov eax, dword [0xa3fa38]
mov ecx, dword [0xa3f804]
sub ecx, esi
add ecx, eax
movzx eax, byte [esp + 0x18]
push 0x72621cdc
push eax
call ecx
add esp, 8
test al, 1
lea ebx, [esp + 0x74]
je 0x87fa39
mov eax, dword [0xa3fa2c]
mov ecx, dword [0xa3f7a8]
sub ecx, esi
add ecx, eax
push 0x7dc51ef8
push ebx
push dword [esp + 0x1c]
push dword [esp + 0x28]
call ecx
add esp, 0x10
mov eax, dword [esp + 0x74]
mov dword [esp + 0x1c], eax
mov byte [esp + 0x18], 1
jmp 0x87fa39
mov eax, dword [0xa3f9c0]
mov ecx, dword [0xa3f7f8]
mov esi, dword [esp + 0xc]
sub ecx, esi
add ecx, eax
push 0x3ae648f1
push dword [esp + 0x14]
call ecx
add esp, 8
test al, 1
jne 0x87fc6d
mov eax, dword [esp + 0x20]
add eax, 4
lea ebx, [esp + 0x74]
jmp 0x87fc4d
mov ecx, dword [0xa3facc]
mov eax, dword [0xa3f8e0]
sub eax, esi
add eax, ecx
lea ecx, [esp + 0x90]
movzx edx, byte [esp + 0x18]
push 0x8d539be5
push ecx
lea ebx, [esp + 0x7b]
push ebx
push dword [esp + 0x28]
push edx
call eax
add esp, 0x14
movzx eax, byte [esp + 0x73]
movzx ecx, byte [esp + 0x90]
mov edx, dword [0xa3fb84]
mov edi, esi
mov esi, dword [0xa3f938]
sub esi, edi
add esi, edx
push 0x1e9b5a58
jmp 0x87f8fe
mov eax, dword [0xa3fb08]
mov ecx, dword [0xa3f7a0]
sub ecx, esi
add ecx, eax
push 0x1d176896
push ebx
call ecx
add esp, 8
test al, 1
lea ebx, [esp + 0x74]
je 0x87fc25
mov eax, dword [0xa3fac4]
mov ecx, dword [0xa3f7d0]
sub ecx, esi
add ecx, eax
push 0x504b3ad6
jmp 0x87fc39
mov eax, dword [0xa3fb0c]
mov ecx, dword [0xa3f89c]
sub ecx, esi
add ecx, eax
push 0x4c2b2abf
push dword [esp + 0x14]
call ecx
add esp, 8
test al, 1
je 0x87fc6d
mov eax, dword [esp + 0x20]
add eax, 0xc
mov ecx, dword [0xa3fb1c]
mov edx, dword [0xa3f838]
sub edx, esi
add edx, ecx
push 0xdda3b776
push ebx
push eax
call edx
add esp, 0xc
test al, 1
je 0x87fc87
mov ecx, dword [esp + 0x4a8]
xor ecx, ebp
call fcn.008ea1d3
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov eax, dword [esp + 0x74]
mov dword [esp + 0x68], eax
mov ecx, dword [0xa3fae0]
mov eax, dword [0xa3f820]
sub eax, esi
add eax, ecx
lea edx, [esp + 0x80]
push 0xe8885603
lea ecx, [esp + 0x94]
push ecx
push edx
push ebx
lea edi, [esp + 0x8c]
push edi
push dword [esp + 0x4c]
mov edi, dword [esp + 0x34]
push edi
mov ecx, dword [ebp + 8]
push ecx
call eax
add esp, 0x20
mov eax, dword [esp + 0x74]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x58], eax
mov ecx, dword [0xa3fa18]
mov eax, dword [0xa3f898]
sub eax, esi
add eax, ecx
push 0x55def9ca
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x7b]
push ecx
lea ecx, [esp + 0x88]
push ecx
push ebx
push edi
push dword [ebp + 8]
push dword [esp + 0x98]
push dword [esp + 0x58]
call eax
add esp, 0x24
mov eax, dword [esp + 0x74]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x50], eax
movzx eax, byte [esp + 0x73]
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x90]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x1c], 0
jmp 0x87fd92
mov eax, dword [0xa3faec]
mov ecx, dword [0xa3f954]
sub ecx, edx
add ecx, eax
push 0x56da88e5
lea ebx, [esp + 0x78]
push ebx
push dword [esp + 0x70]
push dword [esp + 0x28]
mov esi, edx
call ecx
add esp, 0x10
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x1c], ecx
xor edi, edi
test al, 1
jne 0x87fc6d
mov eax, dword [0xa3fbc8]
mov ecx, dword [0xa3f7f0]
sub ecx, esi
add ecx, eax
push 0x307aab8f
push ebx
push dword [esp + 0x28]
call ecx
add esp, 0xc
mov edi, dword [esp + 0x74]
test al, 1
mov dword [esp + 0x2c], edi
je 0x87fdf4
mov eax, dword [0xa3fa48]
mov ecx, dword [0xa3f818]
sub ecx, esi
add ecx, eax
push 0x9d07b443
push edi
call ecx
add esp, 8
test al, 1
je 0x8803db
mov eax, dword [0xa3fb78]
mov ecx, dword [0xa3f92c]
sub ecx, esi
add ecx, eax
push 0xe64e8461
jmp 0x87fe08
mov eax, dword [0xa3f9bc]
mov ecx, dword [0xa3f8bc]
sub ecx, esi
add ecx, eax
push 0x7b1b82ce
push edi
call ecx
add esp, 8
test al, 1
mov edx, esi
je 0x87fd58
mov eax, dword [esp + 0x1c]
lea ecx, [eax + eax*2]
mov edx, dword [esp + 0x20]
mov eax, dword [edx + ecx*4 + 8]
lea esi, [edx + eax]
mov dword [esp + 0x14], esi
lea ecx, [edx + ecx*4]
add ecx, 0xc
mov edx, dword [0xa3fb70]
mov esi, dword [0xa3f98c]
mov edi, dword [esp + 0xc]
sub esi, edi
add esi, edx
push 0x8141b969
lea edx, [esp + 0x94]
push edx
lea edx, [esp + 0x7b]
push edx
lea edx, [esp + 0x80]
push edx
push eax
push ecx
call esi
add esp, 0x18
movzx eax, byte [esp + 0x73]
movzx ecx, byte [esp + 0x90]
mov edx, dword [0xa3fbbc]
mov esi, dword [0xa3f910]
sub esi, edi
add esi, edx
push 0xe9ff2368
push dword [esp + 0x64]
push dword [esp + 0x7c]
push ecx
push eax
call esi
mov edx, edi
add esp, 0x14
test al, 1
je 0x87fd58
mov eax, dword [0xa3fad4]
mov ecx, dword [0xa3f830]
sub ecx, edx
add ecx, eax
push 0xc40cfc72
lea eax, [esp + 0x84]
push eax
lea edi, [esp + 0x83]
push edi
push dword [esp + 0x68]
push dword [esp + 0x24]
push dword [esp + 0x6c]
call ecx
add esp, 0x18
movzx ebx, byte [esp + 0x7b]
movzx esi, word [esp + 0x80]
mov eax, dword [0xa3f9b8]
mov ecx, dword [0xa3f904]
sub ecx, dword [esp + 0xc]
add ecx, eax
push 0xc30357e1
push edi
push ebx
push esi
call ecx
mov edx, dword [esp + 0x1c]
add esp, 0x10
test al, 1
jne 0x8800a0
movzx eax, byte [esp + 0x7b]
mov byte [esp + 0x10], al
mov eax, dword [0xa3fa08]
mov ecx, dword [0xa3f7ac]
sub ecx, edx
add ecx, eax
push 0xe12f3e2d
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x88]
push eax
mov edi, dword [esp + 0x30]
push edi
push esi
call ecx
add esp, 0x14
movzx eax, word [esp + 0x90]
movzx ecx, word [esp + 0x80]
mov esi, dword [0xa3fba4]
mov edx, dword [0xa3f79c]
sub edx, dword [esp + 0xc]
add edx, esi
movzx esi, bl
push 0x19ce7d24
lea ebx, [esp + 0x7f]
push ebx
lea ebx, [esp + 0x88]
push ebx
push esi
push edi
push ecx
push eax
call edx
add esp, 0x1c
movzx eax, byte [esp + 0x7b]
movzx ecx, word [esp + 0x80]
mov dword [esp + 0x18], ecx
mov ecx, dword [0xa3fb80]
mov edx, dword [0xa3f96c]
sub edx, dword [esp + 0xc]
add edx, ecx
push 0x5cd2275c
lea ebx, [esp + 0x7f]
push ebx
push eax
push edi
call edx
add esp, 0x10
movzx eax, byte [esp + 0x7b]
mov ecx, dword [0xa3f9cc]
mov edx, dword [0xa3f85c]
sub edx, dword [esp + 0xc]
add edx, ecx
push 0xae624c6c
push ebx
lea ecx, [esp + 0x7b]
push ecx
push eax
push edi
call edx
add esp, 0x14
movzx eax, byte [esp + 0x7b]
movzx edx, byte [esp + 0x73]
mov ebx, dword [0xa3fb7c]
mov ecx, dword [0xa3f928]
sub ecx, dword [esp + 0xc]
add ecx, ebx
push 0x19702a0a
lea ebx, [esp + 0x84]
push ebx
lea ebx, [esp + 0x83]
push ebx
push edi
push edx
push esi
push eax
call ecx
add esp, 0x1c
movzx eax, word [esp + 0x80]
movzx ebx, byte [esp + 0x7b]
mov ecx, dword [0xa3fba8]
mov edx, dword [0xa3f794]
sub edx, dword [esp + 0xc]
add edx, ecx
push 0xe5299686
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x88]
push ecx
push edi
push dword [esp + 0x28]
push eax
call edx
add esp, 0x18
movzx eax, word [esp + 0x80]
movzx ecx, word [esp + 0x90]
mov esi, dword [0xa3f9e4]
mov edx, dword [0xa3f784]
sub edx, dword [esp + 0xc]
add edx, esi
movzx esi, byte [esp + 0x10]
push 0x3a992aa7
push ebx
push esi
push edi
push ecx
push eax
call edx
mov edx, dword [esp + 0x24]
add esp, 0x18
test al, 1
je 0x87fd58
mov eax, dword [0xa3fad0]
mov ecx, dword [0xa3f91c]
sub ecx, edx
add ecx, eax
push 0xa74debd1
lea eax, [esp + 0x84]
push eax
lea edi, [esp + 0x83]
push edi
push dword [esp + 0x60]
push dword [esp + 0x24]
push dword [esp + 0x64]
call ecx
add esp, 0x18
movzx ebx, byte [esp + 0x7b]
movzx esi, word [esp + 0x80]
mov eax, dword [0xa3fbb4]
mov ecx, dword [0xa3f94c]
sub ecx, dword [esp + 0xc]
add ecx, eax
push 0x89f14dde
push edi
push ebx
push esi
call ecx
mov edx, dword [esp + 0x1c]
add esp, 0x10
test al, 1
jne 0x8802bb
movzx eax, byte [esp + 0x7b]
mov byte [esp + 0x10], al
mov eax, dword [0xa3f9dc]
mov ecx, dword [0xa3f940]
sub ecx, edx
add ecx, eax
push 0xe4fe1d66
lea eax, [esp + 0x7f]
push eax
lea eax, [esp + 0x88]
push eax
push esi
mov eax, dword [esp + 0x34]
push eax
mov esi, ebx
mov ebx, eax
call ecx
add esp, 0x14
movzx eax, byte [esp + 0x7b]
movzx ecx, word [esp + 0x80]
mov dword [esp + 0x18], ecx
mov edx, dword [0xa3fa34]
mov ecx, dword [0xa3f8f4]
sub ecx, dword [esp + 0xc]
add ecx, edx
mov edx, esi
movzx edi, dl
push 0xc57a95e4
lea edx, [esp + 0x84]
push edx
lea edx, [esp + 0x83]
push edx
push ebx
mov esi, ebx
push edi
push eax
call ecx
add esp, 0x18
movzx eax, byte [esp + 0x7b]
movzx ecx, byte [esp + 0x80]
mov ebx, dword [0xa3fbb8]
mov edx, dword [0xa3f8d8]
sub edx, dword [esp + 0xc]
add edx, ebx
push 0x375a58c4
lea ebx, [esp + 0x7f]
push ebx
lea ebx, [esp + 0x7b]
push ebx
push edi
push esi
push ecx
push eax
call edx
add esp, 0x1c
movzx eax, byte [esp + 0x73]
movzx ecx, byte [esp + 0x7b]
mov ebx, dword [0xa3fb30]
mov edx, dword [0xa3f93c]
sub edx, dword [esp + 0xc]
add edx, ebx
push 0xc34a2a2f
lea ebx, [esp + 0x94]
push ebx
lea ebx, [esp + 0x88]
push ebx
lea ebx, [esp + 0x87]
push ebx
push dword [esp + 0x28]
push esi
mov ebx, esi
push edi
push ecx
push eax
call edx
add esp, 0x24
movzx eax, word [esp + 0x80]
movzx ecx, word [esp + 0x90]
movzx edx, byte [esp + 0x7b]
mov dword [esp + 0x18], edx
mov esi, dword [0xa3fb6c]
mov edx, dword [0xa3f934]
sub edx, dword [esp + 0xc]
add edx, esi
movzx edi, byte [esp + 0x10]
push 0x4103e7b0
lea esi, [esp + 0x7f]
push esi
lea esi, [esp + 0x7b]
push esi
push edi
push ebx
push ecx
push eax
call edx
add esp, 0x1c
movzx eax, byte [esp + 0x7b]
mov dword [esp + 0x10], eax
movzx esi, byte [esp + 0x73]
mov eax, dword [0xa3faf0]
mov ecx, dword [0xa3f828]
sub ecx, dword [esp + 0xc]
add ecx, eax
push 0xb798240e
lea eax, [esp + 0x7f]
push eax
push edi
push ebx
call ecx
add esp, 0x10
movzx eax, byte [esp + 0x7b]
mov ecx, dword [0xa3fadc]
mov edx, dword [0xa3f950]
sub edx, dword [esp + 0xc]
add edx, ecx
push 0xee61bb5d
push dword [esp + 0x1c]
push edi
push esi
push eax
push dword [esp + 0x24]
call edx
mov edx, dword [esp + 0x24]
add esp, 0x18
test al, 1
je 0x87fd58
mov eax, dword [0xa3fa70]
mov ecx, dword [0xa3f8c0]
sub ecx, edx
add ecx, eax
movzx eax, byte [esp + 0x33]
push 0x72e1bed1
push eax
push dword [esp + 0x34]
push dword [esp + 0x30]
mov esi, edx
call ecx
add esp, 0x10
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x18], ecx
test al, 1
lea ebx, [esp + 0x74]
je 0x880483
mov eax, dword [0xa3fa3c]
mov ecx, dword [0xa3f7a4]
sub ecx, esi
add ecx, eax
push 0x486dc7b8
push dword [esp + 0x1c]
call ecx
add esp, 8
test al, 1
je 0x8805e8
mov eax, dword [0xa3f9e8]
mov ecx, dword [0xa3f7d8]
sub ecx, esi
add ecx, eax
push 0x37a38b8d
mov edi, dword [esp + 0x30]
push edi
call ecx
add esp, 8
test al, 1
je 0x8805b9
mov eax, dword [0xa3fb8c]
mov ecx, dword [0xa3f7b0]
sub ecx, esi
add ecx, eax
push 0xddc772cb
push edi
call ecx
add esp, 8
test al, 1
je 0x88083f
mov eax, dword [0xa3fb44]
mov ecx, dword [0xa3f7fc]
sub ecx, esi
add ecx, eax
push 0xbe2e4617
push edi
call ecx
add esp, 8
test al, 1
je 0x881129
mov eax, dword [0xa3fb18]
mov ecx, dword [0xa3f99c]
sub ecx, esi
add ecx, eax
push 0x2415996d
push edi
call ecx
add esp, 8
test al, 1
mov edx, esi
je 0x87fd58
mov eax, dword [esp + 0x1c]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + eax*8 + 0x24]
lea edx, [ecx + eax]
mov dword [esp + 0x3c], edx
add eax, ecx
add eax, 4
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
jmp 0x880888
mov eax, dword [0xa3fb40]
mov ecx, dword [0xa3f814]
sub ecx, esi
add ecx, eax
push 0x455edb0a
push edi
call ecx
add esp, 8
test al, 1
je 0x88043e
mov eax, dword [0xa3fbb0]
mov ecx, dword [0xa3f7d4]
sub ecx, esi
add ecx, eax
push 0x5e97fed5
push edi
call ecx
add esp, 8
test al, 1
mov edx, esi
jne 0x87fd58
mov eax, dword [esp + 0x1c]
lea ecx, [eax + eax*2]
mov edx, dword [esp + 0x20]
mov eax, dword [edx + ecx*8 + 0x20]
lea esi, [edx + eax]
mov dword [esp + 0x14], esi
lea ecx, [edx + ecx*8]
add ecx, 0x24
jmp 0x87fe34
mov eax, dword [0xa3fa8c]
mov ecx, dword [0xa3f8b4]
sub ecx, esi
add ecx, eax
push 0x89548087
push edi
call ecx
add esp, 8
test al, 1
mov edx, esi
je 0x87fd58
mov eax, dword [esp + 0x1c]
lea ecx, [eax + eax*2]
mov edx, dword [esp + 0x20]
mov eax, dword [edx + ecx*8 + 0x14]
lea esi, [edx + eax]
mov dword [esp + 0x14], esi
lea ecx, [edx + ecx*8]
add ecx, 0x18
jmp 0x87fe34
xor edx, edx
mov edi, esi
mov esi, dword [esp + 0x38]
jmp 0x8804e4
mov eax, dword [0xa3fa30]
mov edx, dword [0xa3f880]
sub edx, esi
add edx, eax
push 0x6bed4e9e
push ecx
call edx
add esp, 8
test al, 1
lea ebx, [esp + 0x74]
jne 0x8802f8
mov eax, dword [0xa3fb14]
mov ecx, dword [0xa3f860]
sub ecx, esi
add ecx, eax
push 0xf5d6411
push ebx
mov edi, esi
mov esi, dword [esp + 0x40]
push esi
push dword [esp + 0x1c]
call ecx
add esp, 0x10
mov edx, dword [esp + 0x74]
test al, 1
jne 0x8805e2
mov eax, dword [0xa3fac8]
mov ecx, dword [0xa3f810]
sub ecx, edi
add ecx, eax
push 0xf1610629
push ebx
mov dword [esp + 0x18], edx
push edx
push esi
mov esi, dword [esp + 0x34]
push esi
call ecx
add esp, 0x14
mov edx, dword [esp + 0x74]
mov eax, dword [0xa3fa40]
mov ecx, dword [0xa3f918]
sub ecx, edi
add ecx, eax
push 0x9a4d254b
push ebx
push esi
push dword [esp + 0x20]
mov dword [esp + 0x28], edx
push edx
call ecx
add esp, 0x14
test al, 1
mov esi, edi
je 0x8804b3
mov eax, dword [0xa3fb4c]
mov ecx, dword [0xa3f87c]
sub ecx, esi
add ecx, eax
push 0x4539443a
lea eax, [esp + 0x7f]
push eax
push dword [esp + 0x1c]
push dword [esp + 0x80]
call ecx
add esp, 0x10
movzx ebx, byte [esp + 0x7b]
mov eax, dword [0xa3fbac]
mov ecx, dword [0xa3f8cc]
sub ecx, esi
add ecx, eax
push 0xd49579b6
push ebx
call ecx
add esp, 8
movzx ecx, bl
test al, 1
jne 0x88048d
mov eax, dword [0xa3fa98]
mov edx, dword [0xa3f81c]
sub edx, esi
add edx, eax
push 0x4360aa71
push ecx
call edx
add esp, 8
test al, 1
lea ebx, [esp + 0x74]
jne 0x8804b3
jmp 0x8802f8
mov eax, dword [0xa3fa78]
mov ecx, dword [0xa3f8c4]
sub ecx, esi
add ecx, eax
push 0x523724f9
push edi
call ecx
add esp, 8
test al, 1
mov edx, esi
jne 0x880863
jmp 0x87fd58
mov dword [esp + 0x18], esi
mov esi, edi
xor edx, edx
jmp 0x880624
mov eax, dword [0xa3fa50]
mov ecx, dword [0xa3f7dc]
sub ecx, edx
add ecx, eax
push 0x3bba6d97
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x20]
push dword [esp + 0x1c]
mov esi, edx
call ecx
add esp, 0x10
mov edx, dword [esp + 0x74]
test al, 1
jne 0x88031d
mov eax, dword [0xa3fa74]
mov ecx, dword [0xa3f858]
sub ecx, esi
add ecx, eax
push 0xd011665
lea eax, [esp + 0x80]
push eax
mov edi, esi
lea esi, [esp + 0x83]
push esi
push dword [esp + 0x20]
mov dword [esp + 0x20], edx
push edx
push dword [esp + 0x80]
call ecx
add esp, 0x18
movzx ebx, byte [esp + 0x7b]
mov eax, dword [0xa3fa88]
mov ecx, dword [0xa3f8e8]
sub ecx, edi
add ecx, eax
push 0xe92b9e10
push esi
push ebx
push dword [esp + 0x88]
call ecx
mov edx, edi
add esp, 0x10
test al, 1
jne 0x8805f0
movzx eax, byte [esp + 0x7b]
mov byte [esp + 0x28], al
mov eax, dword [0xa3f9c8]
mov ecx, dword [0xa3f920]
sub ecx, edx
add ecx, eax
movzx edi, bl
push 0xeef283e9
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x83]
push eax
mov esi, dword [esp + 0x30]
push esi
push edi
call ecx
add esp, 0x14
movzx eax, byte [esp + 0x80]
movzx ecx, byte [esp + 0x7b]
mov edx, dword [0xa3fbcc]
mov ebx, dword [0xa3f834]
sub ebx, dword [esp + 0xc]
add ebx, edx
push 0xba4837ae
lea edx, [esp + 0x84]
push edx
lea edx, [esp + 0x83]
push edx
push esi
push ecx
push eax
call ebx
add esp, 0x18
movzx eax, byte [esp + 0x7b]
movzx ecx, byte [esp + 0x80]
mov ebx, dword [0xa3fa7c]
mov edx, dword [0xa3f78c]
sub edx, dword [esp + 0xc]
add edx, ebx
push 0x1eb16049
lea ebx, [esp + 0x7f]
push ebx
lea ebx, [esp + 0x7b]
push ebx
push edi
push esi
push ecx
push eax
call edx
add esp, 0x1c
movzx eax, byte [esp + 0x73]
mov dword [esp + 0x34], eax
movzx ecx, byte [esp + 0x7b]
mov ebx, dword [0xa3fba0]
mov edx, dword [0xa3f7c8]
sub edx, dword [esp + 0xc]
add edx, ebx
movzx eax, byte [esp + 0x28]
mov dword [esp + 0x28], eax
push 0xefef4190
lea ebx, [esp + 0x94]
push ebx
lea ebx, [esp + 0x88]
push ebx
lea ebx, [esp + 0x87]
push ebx
push eax
push esi
push edi
push ecx
push dword [esp + 0x54]
call edx
add esp, 0x24
movzx eax, byte [esp + 0x90]
movzx ecx, byte [esp + 0x80]
movzx edi, byte [esp + 0x7b]
mov edx, dword [0xa3fac0]
mov ebx, dword [0xa3f8a0]
sub ebx, dword [esp + 0xc]
add ebx, edx
push 0x1304ac52
lea edx, [esp + 0x84]
push edx
lea edx, [esp + 0x83]
push edx
push esi
push ecx
push eax
call ebx
add esp, 0x18
movzx eax, byte [esp + 0x7b]
movzx ecx, byte [esp + 0x80]
mov edx, dword [0xa3fb28]
mov ebx, dword [0xa3f8c8]
sub ebx, dword [esp + 0xc]
add ebx, edx
push 0xaeb720b1
lea edx, [esp + 0x77]
push edx
push esi
push ecx
push eax
call ebx
add esp, 0x14
movzx eax, byte [esp + 0x73]
mov ecx, dword [0xa3fb34]
mov edx, dword [0xa3f8d0]
sub edx, dword [esp + 0xc]
add edx, ecx
push 0xf443ff14
push edi
push eax
push dword [esp + 0x34]
push esi
call edx
mov edx, dword [esp + 0x20]
add esp, 0x14
test al, 1
jne 0x8805f0
jmp 0x87fd58
mov eax, dword [0xa3fa84]
mov ecx, dword [0xa3f8b0]
sub ecx, esi
add ecx, eax
push 0x9791e1ee
push edi
call ecx
add esp, 8
test al, 1
mov edx, esi
jne 0x87fd58
mov eax, dword [esp + 0x1c]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + eax*4 + 0x10]
add eax, ecx
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], eax
mov ecx, dword [0xa3fb50]
mov edx, dword [0xa3f80c]
mov esi, dword [esp + 0xc]
sub edx, esi
add edx, ecx
push 0xaeedc62c
lea ecx, [esp + 0x78]
push ecx
push eax
call edx
mov edx, esi
add esp, 0xc
test al, 1
jne 0x87fd58
mov eax, dword [esp + 0x74]
mov dword [esp + 0x34], eax
mov dword [esp + 0x10], 0
jmp 0x880906
mov byte [esp + 0xa8], 0
mov esi, ebx
mov eax, dword [0xa3f9f8]
mov ecx, dword [0xa3f854]
sub ecx, esi
add ecx, eax
push 0x1a0d7cc7
push edi
push dword [esp + 0x3c]
push dword [esp + 0x1c]
call ecx
add esp, 0x10
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x10], ecx
test al, 1
mov edx, esi
jne 0x87fd58
mov eax, dword [0xa3faa4]
mov ecx, dword [0xa3f7e8]
sub ecx, edx
add ecx, eax
push 0xec95af77
lea edi, [esp + 0x78]
push edi
push dword [esp + 0x28]
mov ebx, edx
call ecx
add esp, 0xc
mov esi, dword [esp + 0x74]
test al, 1
je 0x880a0c
mov eax, dword [0xa3fae4]
mov ecx, dword [0xa3f790]
sub ecx, ebx
add ecx, eax
push 0xfcbb2f3f
push esi
call ecx
add esp, 8
test al, 1
mov edi, ebx
je 0x880a38
mov eax, dword [0xa3fb74]
mov ecx, dword [0xa3f82c]
sub ecx, edi
add ecx, eax
push 0x79772d65
push esi
call ecx
add esp, 8
test al, 1
je 0x880ad8
mov eax, dword [0xa3fb68]
mov ecx, dword [0xa3f7c4]
sub ecx, edi
add ecx, eax
push 0x67d9dbfd
push esi
call ecx
add esp, 8
test al, 1
mov ebx, edi
lea edi, [esp + 0x74]
je 0x8808c8
mov eax, dword [0xa3fb10]
mov ecx, dword [0xa3f848]
sub ecx, ebx
add ecx, eax
push 0xc2649f69
lea eax, [esp + 0x84]
push eax
push edi
mov esi, ebx
mov ebx, dword [esp + 0x1c]
push ebx
call ecx
add esp, 0x10
mov ecx, dword [0xa3fa44]
mov eax, dword [0xa3f9a0]
sub eax, esi
add eax, ecx
push 0xfda07524
lea ecx, [esp + 0x80]
push ecx
push edi
mov esi, dword [esp + 0x48]
push esi
push dword [esp + 0x44]
push dword [esp + 0x94]
push dword [esp + 0x8c]
push ebx
call eax
add esp, 0x20
jmp 0x880b2f
mov eax, dword [0xa3fb24]
mov ecx, dword [0xa3f88c]
sub ecx, ebx
add ecx, eax
push 0x14202fb3
push esi
call ecx
add esp, 8
test al, 1
mov eax, ebx
lea edx, [esp + 0x80]
jne 0x880a67
jmp 0x8808c8
mov eax, dword [0xa3fa14]
mov ecx, dword [0xa3f798]
sub ecx, edi
add ecx, eax
push 0x92bc488b
push esi
call ecx
add esp, 8
test al, 1
lea edx, [esp + 0x80]
mov ebx, edi
lea edi, [esp + 0x74]
jne 0x8808c8
mov eax, dword [0xa3fbc0]
mov ecx, dword [0xa3f8d4]
sub ecx, ebx
add ecx, eax
push 0x973251e6
push edx
push edi
push dword [esp + 0x40]
push dword [esp + 0x20]
call ecx
add esp, 0x14
mov eax, dword [0xa3fa24]
mov ecx, dword [0xa3f8e4]
sub ecx, ebx
add ecx, eax
push 0x1071d99
lea ebx, [esp + 0x94]
push ebx
lea eax, [esp + 0x84]
push eax
push dword [esp + 0x50]
push dword [esp + 0x90]
push dword [esp + 0x88]
call ecx
add esp, 0x18
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x90]
mov eax, edi
jmp 0x880b4d
mov eax, dword [0xa3fa58]
mov ecx, dword [0xa3f914]
sub ecx, edi
add ecx, eax
push 0xdd80fbc8
push esi
call ecx
add esp, 8
test al, 1
mov ebx, edi
lea edi, [esp + 0x74]
je 0x8808c8
mov eax, dword [0xa3fafc]
mov ecx, dword [0xa3f850]
sub ecx, ebx
add ecx, eax
push 0x665f180c
lea eax, [esp + 0x80]
push eax
push edi
mov esi, dword [esp + 0x4c]
push esi
push dword [esp + 0x44]
push dword [esp + 0x24]
call ecx
add esp, 0x18
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x14], eax
lea ecx, [ecx + ecx*4]
lea ecx, [esi + ecx*4]
add ecx, 0xc
mov eax, edi
lea ebx, [esp + 0x90]
mov esi, dword [0xa3fad8]
mov edx, dword [0xa3f800]
mov edi, dword [esp + 0xc]
sub edx, edi
add edx, esi
push 0x68b1727b
push ebx
lea esi, [esp + 0x7b]
push esi
lea esi, [esp + 0x8c]
push esi
push eax
lea ebx, [esp + 0xbc]
push ebx
push dword [esp + 0x2c]
push ecx
call edx
add esp, 0x20
mov eax, dword [esp + 0x74]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x48], eax
movzx esi, byte [esp + 0x73]
movzx eax, byte [esp + 0x90]
mov ecx, dword [0xa3fb04]
mov edx, dword [0xa3f948]
sub edx, edi
add edx, ecx
push 0x635fe471
push eax
mov dword [esp + 0x6c], esi
push esi
call edx
add esp, 0xc
test al, 1
jne 0x8810db
mov eax, dword [0xa3fabc]
mov ecx, dword [0xa3f808]
sub ecx, dword [esp + 0xc]
add ecx, eax
push 0x3ca00de5
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x84]
push eax
push dword [esp + 0x54]
mov eax, dword [esp + 0x38]
push eax
push dword [esp + 0x34]
call ecx
add esp, 0x18
mov edi, dword [esp + 0x74]
test al, 1
jne 0x8810a4
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x14], eax
mov eax, dword [0xa3faac]
mov ecx, dword [0xa3f7ec]
mov edi, dword [esp + 0xc]
sub ecx, edi
add ecx, eax
push 0x6c342da2
mov ebx, dword [esp + 0x4c]
push ebx
mov esi, dword [esp + 0x2c]
push esi
call ecx
add esp, 0xc
mov dword [esp + 0x2c], 0
test al, 1
je 0x880c5c
lea edx, [esp + 0x74]
mov edi, dword [esp + 0x18]
jmp 0x880e97
mov ecx, dword [0xa3fa4c]
mov eax, dword [0xa3f83c]
sub eax, edi
add eax, ecx
push 0xb84010ca
lea ecx, [esp + 0x84]
push ecx
lea edi, [esp + 0x7c]
push edi
lea ecx, [esp + 0x88]
push ecx
push esi
push ebx
mov edi, dword [esp + 0x30]
push edi
lea ecx, [esp + 0xc4]
push ecx
call eax
add esp, 0x20
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x4c], eax
mov eax, dword [0xa3fb98]
mov ecx, dword [0xa3f930]
sub ecx, dword [esp + 0xc]
add ecx, eax
push 0x4afe54c5
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x7c]
push ebx
push esi
push dword [esp + 0x94]
call ecx
add esp, 0x18
mov ecx, dword [0xa3fb9c]
mov eax, dword [0xa3f944]
sub eax, dword [esp + 0xc]
add eax, ecx
push 0xfbffb0a0
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x7b]
push ecx
push dword [esp + 0x58]
push dword [esp + 0x24]
lea ecx, [esp + 0xbc]
push ecx
push dword [esp + 0x40]
push dword [esp + 0x3c]
push dword [esp + 0x94]
call eax
lea edx, [esp + 0x98]
add esp, 0x24
cmp byte [esp + 0x73], 1
jne 0x880d31
test byte [esp + 0x90], 1
jne 0x880e97
mov eax, dword [0xa3fa9c]
mov ecx, dword [0xa3f8a8]
sub ecx, dword [esp + 0xc]
add ecx, eax
push 0x45e3889d
push edx
push edi
push dword [esp + 0x30]
call ecx
add esp, 0x10
mov eax, dword [esp + 0x74]
mov dword [esp + 0x2c], eax
xor edx, edx
mov dword [esp + 0x28], edx
mov eax, dword [0xa3fb5c]
mov ecx, dword [0xa3f788]
mov ebx, dword [esp + 0xc]
sub ecx, ebx
add ecx, eax
push 0xc8f6ba5e
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x88]
push eax
mov esi, dword [esp + 0x30]
push esi
push edx
push dword [esp + 0x28]
call ecx
add esp, 0x18
movaps xmm0, xmmword [esp + 0x80]
movaps xmm1, xmmword [esp + 0x90]
mov ecx, dword [0xa3fa00]
mov eax, dword [0xa3f7b4]
sub eax, ebx
add eax, ecx
push 0x62a130a
lea edi, [esp + 0x78]
push edi
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esp + 0x9c]
push ecx
lea ecx, [esp + 0x90]
push ecx
push esi
mov edi, dword [esp + 0x40]
push edi
lea ecx, [esp + 0xc4]
push ecx
call eax
add esp, 0x20
movsd xmm0, qword [esp + 0x80]
movsd xmm1, qword [esp + 0x90]
mov ecx, dword [0xa3fa80]
mov eax, dword [0xa3f968]
sub eax, ebx
add eax, ecx
push 0x4542907a
lea ecx, [esp + 0x78]
push ecx
push esi
push dword [esp + 0x80]
push dword [esp + 0x8c]
call eax
add esp, 0x14
mov eax, dword [0xa3f9d8]
mov ecx, dword [0xa3f84c]
sub ecx, ebx
add ecx, eax
push 0x7532e85e
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x34]
push dword [esp + 0x80]
push edi
call ecx
add esp, 0x14
mov edx, dword [esp + 0x74]
test al, 1
je 0x880d5c
mov eax, dword [0xa3f9fc]
mov ecx, dword [0xa3f7cc]
sub ecx, dword [esp + 0xc]
add ecx, eax
push 0xb5b10eb9
push dword [esp + 0x30]
mov edi, dword [esp + 0x20]
push edi
call ecx
add esp, 0xc
test al, 1
lea ebx, [esp + 0xa8]
lea edx, [esp + 0x74]
jne 0x8810a4
mov eax, dword [0xa3fab4]
mov ecx, dword [0xa3f7f4]
mov esi, dword [esp + 0xc]
sub ecx, esi
add ecx, eax
push 0x7c17f42a
push edx
mov eax, edi
mov edi, dword [esp + 0x2c]
push edi
push eax
mov ebx, edx
call ecx
add esp, 0x10
mov eax, dword [0xa3fb60]
mov ecx, dword [0xa3f984]
sub ecx, esi
add ecx, eax
push 0x8ed7b4b
push ebx
push dword [esp + 0x7c]
push edi
call ecx
add esp, 0x10
mov esi, dword [esp + 0x2c]
test al, 1
jne 0x880f57
mov eax, dword [esp + 0x74]
mov dword [esp + 0x28], eax
xor ebx, ebx
mov esi, dword [esp + 0x2c]
mov eax, dword [0xa3fa54]
mov ecx, dword [0xa3f874]
mov edi, dword [esp + 0xc]
sub ecx, edi
add ecx, eax
push 0x11855aaf
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0xb0]
push eax
push esi
push dword [esp + 0x24]
call ecx
add esp, 0x14
mov esi, dword [esp + 0x74]
mov eax, dword [0xa3fbd0]
mov ecx, dword [0xa3f8fc]
sub ecx, edi
mov edi, dword [esp + 0x24]
add ecx, eax
push 0xb37a8425
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x30]
push ebx
push edi
call ecx
add esp, 0x14
mov ebx, dword [esp + 0x74]
test al, 1
je 0x880ef4
mov eax, dword [0xa3fa20]
mov ecx, dword [0xa3f824]
sub ecx, dword [esp + 0xc]
add ecx, eax
push 0x787989b
push edi
mov edi, dword [esp + 0x20]
push edi
push dword [esp + 0x38]
call ecx
add esp, 0x10
test al, 1
lea ebx, [esp + 0xa8]
jne 0x8810a4
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + esi*2]
mov edx, dword [0xa3f9b4]
mov eax, dword [0xa3f998]
mov ebx, dword [esp + 0xc]
sub eax, ebx
add eax, edx
push 0x66c24c8d
lea edx, [esp + 0x80]
push edx
lea edx, [esp + 0x7c]
push edx
push edi
push ecx
push esi
lea ecx, [esp + 0xc0]
push ecx
call eax
add esp, 0x1c
mov eax, dword [0xa3faa0]
mov ecx, dword [0xa3f86c]
sub ecx, ebx
add ecx, eax
push 0xce7e0cbe
push dword [esp + 0x78]
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x88]
call ecx
add esp, 0x10
mov eax, dword [0xa3fa6c]
mov ecx, dword [0xa3f990]
sub ecx, ebx
add ecx, eax
push 0xb0ef1d23
lea eax, [esp + 0x7f]
push eax
lea eax, [esp + 0x7c]
push eax
push edi
push esi
call ecx
add esp, 0x14
movzx ecx, byte [esp + 0x7b]
mov edx, dword [0xa3fa1c]
mov eax, dword [0xa3f7c0]
sub eax, ebx
add eax, edx
push 0x726c435e
lea edx, [esp + 0x80]
push edx
lea edx, [esp + 0x7c]
push edx
push edi
push esi
mov edi, dword [esp + 0x38]
push edi
push ecx
push dword [esp + 0x90]
lea ecx, [esp + 0xc8]
push ecx
call eax
add esp, 0x24
mov ecx, dword [0xa3faf4]
mov eax, dword [0xa3f8f8]
sub eax, ebx
lea ebx, [esp + 0xa8]
add eax, ecx
push 0x4fd82521
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x20]
push ecx
push esi
push edi
mov edi, ecx
push dword [esp + 0x88]
push ebx
push dword [esp + 0x98]
call eax
add esp, 0x20
mov esi, dword [esp + 0x74]
test al, 1
je 0x880f8b
mov byte [esp + edi + 0xa8], 0
push ebx
call fcn.0086aa70
mov edi, eax
mov eax, dword [0xa3fae8]
mov ecx, dword [0xa3f988]
sub ecx, dword [esp + 0xc]
add ecx, eax
push 0xd23bc7e0
push dword [ebp + 0xc]
push edi
call ecx
add esp, 0xc
test al, 1
je 0x87fc6d
mov eax, dword [0xa3faf8]
mov ecx, dword [0xa3f888]
mov esi, dword [esp + 0xc]
sub ecx, esi
add ecx, eax
movzx eax, byte [esp + 0x64]
push 0xb898a0a6
push eax
push ebx
call ecx
add esp, 0xc
test al, 1
lea edi, [esp + 0x74]
jne 0x8808d2
mov eax, dword [esp + 0x48]
shr eax, 1
push eax
push 0
lea eax, [esp + 0xb0]
push eax
call fcn.00901a10
add esp, 0xc
jmp 0x8808d2
mov eax, dword [0xa3fb48]
mov ecx, dword [0xa3f868]
sub ecx, esi
add ecx, eax
push 0xbb3e064b
push edi
call ecx
add esp, 8
test al, 1
mov edx, esi
je 0x87fd58
mov eax, dword [esp + 0x1c]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax*8 + 0x2c]
add edx, ecx
mov dword [esp + 0x40], edx
lea eax, [ecx + eax*8]
add eax, 0x30
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 0
jmp 0x880888