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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x78
mov edi, dword [ebp + 8]
mov eax, dword [0xa7d04c]
xor eax, ebp
mov dword [esp + 0x70], eax
call fcn.0089f0c0
mov ecx, dword [0xa72328]
mov edx, dword [0xa72100]
mov ebx, 0xffff2451
sub ebx, eax
sub edx, ebx
add edx, ecx
call edx
mov esi, eax
mov dword [esp + 8], eax
mov eax, dword [0xa7231c]
mov ecx, dword [0xa72060]
mov dword [esp + 4], ebx
sub ecx, ebx
add ecx, eax
push 0xdd1946bf
push edi
call ecx
add esp, 8
test al, 1
je 0x891316
xor esi, 0xc06a35e0
mov eax, dword [0xa72214]
mov ecx, dword [0xa72000]
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
push esi
call ecx
mov esi, eax
mov eax, dword [0xa721e0]
mov ecx, dword [0xa72160]
sub ecx, edi
add ecx, eax
lea eax, [esp + 0x68]
lea edx, [esp + 0x57]
push 0xe21d063f
push eax
push edx
push esi
call ecx
add esp, 0x10
mov dword [esp + 0x10], 0
cmp byte [esp + 0x57], 0
jne 0x8914fb
test byte [esp + 0x68], 1
jne 0x8914fb
mov eax, dword [0xa72240]
mov ecx, dword [0xa72014]
sub ecx, dword [esp + 4]
add ecx, eax
lea eax, [esp + 0x58]
push 0x10758ae9
push eax
push esi
push dword [esp + 0x14]
call ecx
add esp, 0x10
mov eax, dword [esp + 0x58]
mov dword [esp + 0x10], eax
jmp 0x8914fb
mov dword [esp + 0x34], esi
xor ebx, ebx
lea edx, [esp + 0x57]
mov eax, dword [0xa72260]
mov ecx, dword [0xa72178]
mov esi, dword [esp + 4]
sub ecx, esi
add ecx, eax
push 0x749f9798
push edx
push ebx
push edi
call ecx
add esp, 0x10
movzx eax, byte [esp + 0x57]
mov ecx, dword [0xa72320]
mov edx, dword [0xa720a0]
sub edx, esi
add edx, ecx
push 0xbe675f1d
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0x58]
push ecx
push edi
push ebx
push eax
call edx
add esp, 0x18
mov ebx, dword [esp + 0x50]
movzx eax, word [esp + 0x58]
mov ecx, dword [0xa72200]
mov edx, dword [0xa71fec]
sub edx, esi
add edx, ecx
push 0xfcbf223c
push eax
call edx
lea edx, [esp + 0x5f]
add esp, 8
test al, 1
je 0x891320
mov eax, dword [0xa721d4]
mov ecx, dword [0xa720f0]
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
push 0xaa9836d7
push edx
push ebx
call ecx
add esp, 0xc
lea edx, [esp + 0x50]
lea esi, [esp + 0x58]
movzx eax, byte [esp + 0x57]
mov dword [esp + 0xc], eax
mov eax, dword [0xa72298]
mov ecx, dword [0xa71fe8]
sub ecx, edi
add ecx, eax
push 0x19785593
push edx
push esi
call ecx
add esp, 0xc
mov eax, dword [0xa722a0]
mov ecx, dword [0xa7213c]
sub ecx, edi
add ecx, eax
lea esi, [esp + 0x60]
push 0x4ab97c91
push esi
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x5c]
push dword [esp + 0x68]
call ecx
add esp, 0x14
mov ecx, dword [0xa72230]
mov eax, dword [0xa71fc4]
sub eax, edi
add eax, ecx
lea ecx, [esp + 0x68]
push 0x436cfef8
push ecx
push esi
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0x68]
push ecx
push dword [esp + 0x78]
push dword [esp + 0x78]
push dword [esp + 0x78]
push dword [esp + 0x78]
call eax
add esp, 0x24
mov eax, dword [esp + 0x58]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x68]
add ecx, dword [eax]
mov dword [esp + 0x40], ecx
mov eax, dword [0xa72290]
mov ecx, dword [0xa72020]
sub ecx, edi
add ecx, eax
push 0xfe3287ab
push dword [esp + 0x10]
call ecx
add esp, 8
test al, 1
jne 0x8914f3
mov eax, dword [0xa7232c]
mov ecx, dword [0xa7205c]
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
push 0xe1eef29f
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x14]
mov dword [esp + 0x5c], ebx
push ebx
call ecx
add esp, 0x14
mov eax, dword [esp + 0x50]
mov dword [esp + 0x38], eax
mov eax, dword [0xa722cc]
mov ecx, dword [0xa72084]
sub ecx, edi
add ecx, eax
push dword [esp + 0x60]
call ecx
mov esi, eax
mov eax, dword [0xa72250]
mov ecx, dword [0xa720d0]
sub ecx, edi
add ecx, eax
push 0xfe130ac4
push esi
call ecx
add esp, 8
test al, 1
je 0x891514
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x70]
xor ecx, ebp
call fcn.0091d849
mov eax, dword [esp + 0x10]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov eax, dword [0xa722b8]
mov ecx, dword [0xa72074]
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
push 0x238e7ace
mov dword [esp + 0x30], esi
lea eax, [esp + 0x5c]
mov esi, dword [esp + 0x30]
push eax
push esi
mov ebx, dword [esp + 0x14]
push ebx
call ecx
add esp, 0x10
mov eax, dword [esp + 0x58]
mov dword [esp + 0x1c], eax
mov eax, dword [0xa72218]
mov ecx, dword [0xa72138]
sub ecx, edi
add ecx, eax
mov eax, dword [esp + 0x34]
xor eax, 0xf8d243af
add eax, esi
mov dword [esp + 0x44], eax
push 0x7efaabeb
push ebx
call ecx
add esp, 8
test al, 1
je 0x89169c
mov eax, dword [0xa722c8]
mov ecx, dword [0xa72054]
mov esi, dword [esp + 4]
sub ecx, esi
add ecx, eax
push 0x83b93073
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x68]
push eax
lea ebx, [esp + 0x5c]
push ebx
call ecx
add esp, 0x10
mov eax, dword [0xa722f8]
mov ecx, dword [0xa72158]
sub ecx, esi
add ecx, eax
push 0xffe7a761
lea edi, [esp + 0x5b]
push edi
push dword [esp + 0x70]
push dword [esp + 0x5c]
push dword [esp + 0x70]
call ecx
add esp, 0x14
cmp byte [esp + 0x57], 0
jne 0x8917d5
mov eax, dword [0xa722c0]
mov ecx, dword [0xa72068]
mov esi, dword [esp + 4]
sub ecx, esi
add ecx, eax
push 0xcc0d89b3
lea eax, [esp + 0x64]
push eax
push ebx
call ecx
add esp, 0xc
mov eax, dword [0xa72284]
mov ecx, dword [0xa720fc]
sub ecx, esi
add ecx, eax
push 0xa79bef6
push edi
push dword [esp + 0x10]
push dword [esp + 0x6c]
push dword [esp + 0x60]
call ecx
add esp, 0x14
movzx eax, byte [esp + 0x57]
mov ecx, dword [0xa72314]
mov edx, dword [0xa720bc]
sub edx, esi
add edx, ecx
push 0xaf398e15
push eax
call edx
add esp, 8
test al, 1
je 0x8917e8
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx]
add eax, ecx
mov ecx, dword [0xa72318]
mov edx, dword [0xa72148]
sub edx, dword [esp + 4]
add edx, ecx
push 0xb89e6120
push edi
lea ecx, [esp + 0x60]
push ecx
push dword [esp + 0x30]
push eax
call edx
add esp, 0x14
xor ecx, ecx
cmp byte [esp + 0x57], 0
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 8]
jne 0x891d5d
jmp 0x891854
mov eax, dword [0xa722e4]
mov ecx, dword [0xa720e4]
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
push 0xbcc04c83
lea eax, [esp + 0x64]
push eax
mov esi, eax
lea ebx, [esp + 0x58]
push ebx
call ecx
add esp, 0xc
mov edx, dword [esp + 0x50]
mov eax, dword [0xa722d8]
mov ecx, dword [0xa72008]
sub ecx, edi
add ecx, eax
push 0xa818f570
push esi
push ebx
mov esi, dword [esp + 0x14]
push esi
push dword [esp + 0x70]
push edx
mov ebx, edx
call ecx
add esp, 0x18
mov eax, dword [0xa7223c]
mov ecx, dword [0xa720f4]
sub ecx, edi
add ecx, eax
push 0xe5440448
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x5c]
push dword [esp + 0x70]
push esi
call ecx
add esp, 0x18
mov eax, dword [0xa7226c]
mov ecx, dword [0xa72140]
sub ecx, edi
add ecx, eax
push 0xe7a7784b
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x58]
push esi
push ebx
push dword [esp + 0x74]
call ecx
add esp, 0x18
mov edx, dword [esp + 0x50]
mov eax, dword [0xa721fc]
mov ecx, dword [0xa71fd4]
sub ecx, edi
add ecx, eax
push 0xdaedb5a3
lea esi, [esp + 0x64]
push esi
lea eax, [esp + 0x58]
push eax
push ebx
push dword [esp + 0x18]
push edx
mov ebx, edx
call ecx
add esp, 0x18
mov ecx, dword [0xa722b4]
mov eax, dword [0xa720d8]
sub eax, edi
add eax, ecx
push 0x40037866
push esi
lea ecx, [esp + 0x58]
push ecx
push ebx
push dword [esp + 0x18]
push dword [esp + 0x74]
push dword [esp + 0x68]
call eax
add esp, 0x1c
mov eax, dword [0xa7225c]
mov ecx, dword [0xa72108]
sub ecx, edi
add ecx, eax
push 0x91615e9
lea edi, [esp + 0x5b]
push edi
push ebx
lea ebx, [esp + 0x5c]
push dword [esp + 0x6c]
push dword [esp + 0x60]
call ecx
add esp, 0x14
cmp byte [esp + 0x57], 0
je 0x8915de
mov dword [esp + 0x14], 0
mov cl, 1
mov ebx, dword [esp + 8]
jmp 0x891d5d
mov eax, dword [0xa721ec]
mov ecx, dword [0xa72004]
mov esi, dword [esp + 4]
sub ecx, esi
add ecx, eax
push 0x2f24dc1e
push ebx
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x4c]
mov ebx, dword [esp + 0x18]
push ebx
call ecx
add esp, 0x14
mov eax, dword [0xa72180]
mov ecx, dword [0xa72168]
sub ecx, esi
add ecx, eax
push 0x82b66e8d
push edi
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x30]
push dword [esp + 0x60]
push dword [esp + 0x6c]
call ecx
add esp, 0x18
xor ecx, ecx
cmp byte [esp + 0x57], 0
mov dword [esp + 0x14], 0
jne 0x891d5d
mov eax, dword [esp + 0x58]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x3c], eax
xor esi, esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x20], 0
jmp 0x8918fd
mov eax, dword [0xa72278]
mov ecx, dword [0xa71ff4]
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
push 0x39fa99dc
lea esi, [esp + 0x64]
push esi
push ebx
push dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
push esi
call ecx
add esp, 0x14
mov ecx, dword [0xa721c8]
mov eax, dword [0xa72104]
sub eax, edi
add eax, ecx
push 0xbcdef23
lea ecx, [esp + 0x5b]
push ecx
lea ecx, [esp + 0x68]
push ecx
push ebx
push dword [esp + 0x34]
push dword [esp + 0x20]
mov ebx, dword [esp + 0x20]
push ebx
push dword [esp + 0x7c]
push dword [esp + 0x70]
push esi
call eax
add esp, 0x28
mov eax, dword [esp + 0x50]
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0x60]
cmp byte [esp + 0x57], 0
jne 0x891d5b
mov eax, dword [0xa72238]
mov ecx, dword [0xa71fe0]
sub ecx, dword [esp + 4]
add ecx, eax
push 0xa468c502
push ebx
call ecx
add esp, 8
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xc], esi
add esi, ecx
test al, 1
lea edx, [esp + 0x60]
je 0x8919e0
mov ecx, dword [0xa7221c]
mov eax, dword [0xa72164]
mov edi, dword [esp + 4]
sub eax, edi
add eax, ecx
push 0xcafb6805
lea ecx, [esp + 0x6c]
push ecx
push edx
lea ebx, [esp + 0x64]
push ebx
push dword [esp + 0x18]
push 0
push esi
push dword [esp + 0x58]
push dword [esp + 0x50]
call eax
add esp, 0x24
mov edx, dword [esp + 0x58]
mov ebx, esi
mov esi, dword [esp + 0x5c]
mov ecx, dword [0xa72258]
mov eax, dword [0xa7216c]
sub eax, edi
add eax, ecx
push 0x5b72d795
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0x5f]
push ecx
push ebx
mov dword [esp + 0x38], esi
push esi
mov dword [esp + 0x2c], edx
push edx
push dword [esp + 0x7c]
push dword [esp + 0x7c]
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call eax
add esp, 0x28
mov eax, dword [esp + 0x58]
cmp byte [esp + 0x57], 0
mov eax, dword [eax]
jne 0x891a61
mov dword [esp + 0x10], eax
lea ebx, [esp + 0x50]
jmp 0x891bb1
mov ecx, dword [0xa721b4]
mov eax, dword [0xa71ffc]
mov edi, dword [esp + 4]
sub eax, edi
add eax, ecx
push 0x7b8aacfa
push edx
lea ebx, [esp + 0x60]
push ebx
push dword [esp + 0x14]
push 0
push esi
push dword [esp + 0x54]
push dword [esp + 0x4c]
call eax
add esp, 0x20
mov edx, dword [esp + 0x58]
mov ebx, esi
mov esi, dword [esp + 0x5c]
mov ecx, dword [0xa722ac]
mov eax, dword [0xa71ff8]
sub eax, edi
add eax, ecx
push 0xdfc09b0f
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x5f]
push ecx
push ebx
mov dword [esp + 0x38], esi
push esi
mov dword [esp + 0x2c], edx
push edx
push dword [esp + 0x7c]
push dword [esp + 0x7c]
call eax
add esp, 0x20
mov eax, dword [esp + 0x50]
cmp byte [esp + 0x57], 0
je 0x8919c5
mov dword [esp + 0x10], eax
mov eax, dword [0xa72264]
mov ecx, dword [0xa7217c]
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
push 0xd5979b09
lea esi, [esp + 0x54]
push esi
mov ebx, dword [esp + 0x10]
push ebx
push dword [esp + 0x34]
push dword [esp + 0x28]
call ecx
add esp, 0x14
mov eax, dword [0xa721dc]
mov ecx, dword [0xa72114]
sub ecx, edi
add ecx, eax
push 0xe2d45fa2
push esi
push dword [esp + 0x18]
push dword [esp + 0x5c]
call ecx
add esp, 0x10
mov eax, dword [esp + 0x50]
mov dword [esp + 0x10], eax
mov ecx, dword [0xa7230c]
mov eax, dword [0xa720a8]
sub eax, edi
add eax, ecx
push 0xabf8d13e
lea esi, [esp + 0x64]
push esi
lea ecx, [esp + 0x58]
push ecx
push ebx
push dword [esp + 0x38]
push dword [esp + 0x2c]
push dword [esp + 0x38]
call eax
add esp, 0x1c
mov eax, dword [esp + 0x50]
mov dword [esp + 0x20], eax
mov eax, dword [0xa722f4]
mov ecx, dword [0xa7212c]
sub ecx, edi
add ecx, eax
push 0xc57f16d6
lea eax, [esp + 0x54]
push eax
push ebx
push dword [esp + 0x6c]
call ecx
add esp, 0x10
mov eax, dword [0xa722d0]
mov ecx, dword [0xa72044]
sub ecx, edi
add ecx, eax
push 0xa748ff8f
push esi
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x5c]
push dword [esp + 0x1c]
call ecx
add esp, 0x14
mov eax, dword [0xa7222c]
mov ecx, dword [0xa7201c]
sub ecx, edi
add ecx, eax
push 0x1fe5abe9
push esi
lea esi, [esp + 0x58]
push esi
push dword [esp + 0x6c]
push dword [esp + 0x60]
push ebx
call ecx
add esp, 0x18
mov ecx, dword [0xa7224c]
mov eax, dword [0xa72038]
sub eax, edi
add eax, ecx
push 0x11171200
lea ecx, [esp + 0x5c]
push ecx
mov ebx, esi
push esi
push dword [esp + 0x2c]
push dword [esp + 0x50]
push dword [esp + 0x74]
push dword [esp + 0x68]
call eax
add esp, 0x1c
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x30], eax
mov dword [esp + 0x3c], 0
mov eax, dword [0xa721c4]
mov ecx, dword [0xa72128]
sub ecx, dword [esp + 4]
add ecx, eax
push 0x266f5657
push dword [esp + 0xc]
call ecx
add esp, 8
test al, 1
je 0x891880
mov eax, dword [0xa721cc]
mov ecx, dword [0xa7200c]
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
push 0x37350ec9
push ebx
push dword [esp + 0x1c]
call ecx
add esp, 0xc
mov eax, dword [esp + 0x50]
mov dword [esp + 0x18], eax
mov eax, dword [0xa72334]
mov ecx, dword [0xa72078]
sub ecx, edi
add ecx, eax
push 0x8511cb5d
lea eax, [esp + 0x64]
push eax
push ebx
mov esi, dword [esp + 0x1c]
push esi
call ecx
add esp, 0x10
mov ecx, dword [0xa722ec]
mov eax, dword [0xa72024]
sub eax, edi
add eax, ecx
push 0xe3b564da
lea ecx, [esp + 0x64]
push ecx
push ebx
push esi
push dword [esp + 0x28]
push dword [esp + 0x74]
push dword [esp + 0x68]
call eax
add esp, 0x1c
mov ecx, dword [0xa72280]
mov eax, dword [0xa720b8]
sub eax, edi
add eax, ecx
push 0xdc0c6324
lea ecx, [esp + 0x6c]
push ecx
lea ecx, [esp + 0x68]
push ecx
push ebx
mov esi, dword [esp + 0x18]
push esi
push dword [esp + 0x74]
push dword [esp + 0x68]
push dword [esp + 0x30]
call eax
add esp, 0x20
mov edx, dword [esp + 0x50]
mov eax, dword [0xa721e4]
mov ecx, dword [0xa72050]
sub ecx, edi
add ecx, eax
push 0xa084a5d4
push ebx
push esi
push edx
mov esi, edx
push dword [esp + 0x78]
push dword [esp + 0x74]
call ecx
add esp, 0x18
mov eax, dword [0xa72288]
mov ecx, dword [0xa72028]
sub ecx, edi
add ecx, eax
push 0xb839b876
push ebx
push esi
push dword [esp + 0x5c]
call ecx
add esp, 0x10
mov eax, dword [esp + 0x50]
mov dword [esp + 0x14], eax
mov eax, dword [0xa7218c]
mov ecx, dword [0xa720f8]
sub ecx, edi
add ecx, eax
push 0x2546de2f
lea eax, [esp + 0x64]
push eax
push ebx
mov esi, dword [esp + 0x18]
push esi
mov ebx, dword [esp + 0x18]
push ebx
call ecx
add esp, 0x14
mov eax, dword [0xa7227c]
mov ecx, dword [0xa72030]
sub ecx, edi
add ecx, eax
push 0x6bee7c7d
lea eax, [esp + 0x54]
push eax
push esi
push ebx
push dword [esp + 0x70]
push dword [esp + 0x64]
call ecx
add esp, 0x18
mov esi, dword [esp + 0x50]
mov eax, dword [0xa72248]
mov ecx, dword [0xa72118]
sub ecx, edi
add ecx, eax
push 0x592a4816
lea eax, [esp + 0x5b]
push eax
push dword [esp + 0x2c]
push esi
call ecx
add esp, 0x10
cmp byte [esp + 0x57], 0
je 0x8918fd
xor ecx, ecx
mov dword [esp + 0x28], ecx
mov eax, dword [0xa721f4]
mov ecx, dword [0xa72110]
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
push 0x1b1c7963
lea esi, [esp + 0x6c]
push esi
lea esi, [esp + 0x5f]
push esi
push ebx
call ecx
add esp, 0x10
movzx ebx, byte [esp + 0x57]
or bl, byte [esp + 0x68]
mov eax, dword [0xa7233c]
mov ecx, dword [0xa720ac]
sub ecx, edi
add ecx, eax
push 0x19111851
lea eax, [esp + 0x6c]
push eax
push esi
lea eax, [esp + 0x64]
push eax
push dword [esp + 0x2c]
push dword [esp + 0x58]
call ecx
add esp, 0x18
mov eax, dword [esp + 0x58]
movzx ecx, byte [esp + 0x68]
mov dword [esp + 0xc], ecx
movzx ecx, byte [esp + 0x57]
mov edx, dword [0xa7228c]
mov esi, dword [0xa71fe4]
sub esi, edi
add esi, edx
movzx edx, bl
mov edi, eax
push 0xcbcd71a7
push edx
push eax
push ecx
push dword [esp + 0x1c]
call esi
add esp, 0x14
test al, 1
mov dword [esp + 0x10], 0
je 0x8914fb
mov dword [esp + 0x18], edi
mov ecx, dword [0xa721a4]
mov eax, dword [0xa7210c]
mov edi, dword [esp + 4]
sub eax, edi
add eax, ecx
movzx ecx, byte [esp + 0x28]
push 0x67b591d3
lea edx, [esp + 0x6c]
push edx
lea edx, [esp + 0x68]
push edx
lea esi, [esp + 0x5c]
push esi
mov ebx, dword [esp + 0x18]
push ebx
push ecx
call eax
add esp, 0x18
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov eax, dword [0xa722f0]
mov ecx, dword [0xa72130]
sub ecx, edi
add ecx, eax
push 0x419b7874
push esi
push ebx
push dword [esp + 0x74]
push dword [esp + 0x70]
call ecx
add esp, 0x14
mov eax, dword [0xa722d4]
mov ecx, dword [0xa720ec]
sub ecx, edi
add ecx, eax
push 0xa21e53e4
lea eax, [esp + 0x64]
push eax
push esi
push dword [esp + 0x5c]
push ebx
call ecx
add esp, 0x14
mov ecx, dword [0xa7220c]
mov eax, dword [0xa7215c]
sub eax, edi
add eax, ecx
push 0x91fb7b9f
push esi
push dword [esp + 0x1c]
push dword [esp + 0x18]
push ebx
push dword [esp + 0x74]
push dword [esp + 0x68]
call eax
add esp, 0x1c
mov eax, dword [0xa7229c]
mov ecx, dword [0xa720c0]
sub ecx, edi
add ecx, eax
push 0x8c545f6a
push dword [esp + 0x54]
call ecx
add esp, 8
mov eax, dword [0xa72294]
mov ecx, dword [0xa72018]
sub ecx, edi
add ecx, eax
push 0x98e65be2
lea eax, [esp + 0x6c]
push eax
lea ebx, [esp + 0x5f]
push ebx
push dword [esp + 0x44]
call ecx
add esp, 0x10
movzx eax, byte [esp + 0x57]
movzx ecx, byte [esp + 0x68]
mov edx, dword [0xa72184]
mov esi, dword [0xa720e0]
sub esi, edi
add esi, edx
push 0x1ee57186
push ebx
push dword [ebp + 0xc]
push ecx
push eax
call esi
add esp, 0x14
movzx ecx, byte [esp + 0x57]
xor dword [esp + 0x34], 0xe329ceca
test al, 1
je 0x8921ac
test cl, 1
je 0x892632
mov dword [esp + 0x10], 0
mov esi, dword [esp + 0x1c]
xor ebx, ebx
jmp 0x891fc2
mov eax, dword [0xa72194]
mov ecx, dword [0xa7209c]
sub ecx, dword [esp + 4]
add ecx, eax
push 0x4bb89bc4
lea eax, [esp + 0x5c]
push eax
push esi
push dword [esp + 0x14]
call ecx
add esp, 0x10
mov eax, dword [esp + 0x58]
mov dword [esp + 0x10], eax
mov bl, 1
mov eax, dword [0xa72204]
mov ecx, dword [0xa720b4]
sub ecx, dword [esp + 4]
add ecx, eax
movzx eax, bl
push 0xa0d9e3bd
lea edx, [esp + 0x6c]
push edx
lea edx, [esp + 0x60]
push edx
push eax
push esi
call ecx
add esp, 0x14
mov esi, dword [esp + 0x58]
movzx ebx, byte [esp + 0x68]
test bl, 1
jne 0x8914fb
mov eax, dword [0xa722b0]
mov ecx, dword [0xa720c4]
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
push 0x66aa1e7b
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x34]
push dword [esp + 0x14]
call ecx
add esp, 0x10
mov eax, dword [0xa72338]
mov ecx, dword [0xa72094]
sub ecx, edi
add ecx, eax
push 0xb2dbcf9b
push dword [esp + 0x5c]
push dword [esp + 0x24]
call ecx
add esp, 0xc
test al, 1
jne 0x89208e
mov eax, dword [0xa722cc]
mov ecx, dword [0xa72084]
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
push dword [esp + 0x34]
call ecx
mov esi, eax
mov eax, dword [0xa72310]
mov ecx, dword [0xa72080]
sub ecx, edi
add ecx, eax
push 0xbe5decbc
push esi
call ecx
add esp, 8
test al, 1
jne 0x8914fb
mov eax, dword [0xa721b8]
mov ecx, dword [0xa72088]
sub ecx, dword [esp + 4]
add ecx, eax
push 0xe4be4f30
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0x38], esi
push esi
push dword [esp + 0x18]
call ecx
add esp, 0x14
mov esi, dword [esp + 0x58]
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], esi
test bl, 1
jne 0x891fb9
mov ecx, dword [0xa72224]
mov eax, dword [0xa7203c]
mov edi, dword [esp + 4]
sub eax, edi
add eax, ecx
movzx ecx, bl
push 0x25971971
lea edx, [esp + 0x54]
push edx
lea edx, [esp + 0x70]
push edx
push dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x2c]
push ecx
push esi
call eax
add esp, 0x1c
movzx ebx, byte [esp + 0x68]
mov eax, dword [0xa7219c]
mov ecx, dword [0xa72154]
sub ecx, edi
add ecx, eax
push 0xc9c02d3b
push dword [esp + 0x3c]
push dword [esp + 0x58]
push esi
call ecx
add esp, 0x10
test al, 1
jne 0x891f86
mov byte [esp + 0x14], bl
mov eax, dword [0xa72274]
mov ecx, dword [0xa720e8]
mov ebx, dword [esp + 4]
sub ecx, ebx
add ecx, eax
push 0xe74ba4db
lea eax, [esp + 0x54]
push eax
mov dword [esp + 0x14], esi
push esi
push dword [esp + 0x14]
call ecx
add esp, 0x10
mov edi, dword [esp + 0x50]
mov eax, dword [0xa721e8]
mov ecx, dword [0xa720cc]
sub ecx, ebx
add ecx, eax
push 0x1376292e
push edi
call ecx
add esp, 8
test al, 1
je 0x89217c
mov eax, dword [0xa721f8]
mov ecx, dword [0xa72058]
sub ecx, ebx
add ecx, eax
push 0xf8c192cb
push edi
call ecx
add esp, 8
test al, 1
mov esi, dword [esp + 0xc]
movzx ebx, byte [esp + 0x14]
jne 0x891f57
jmp 0x891f86
mov eax, dword [0xa72254]
mov ecx, dword [0xa7207c]
sub ecx, ebx
add ecx, eax
push 0x5c76b732
push edi
call ecx
add esp, 8
test al, 1
mov esi, dword [esp + 0xc]
movzx ebx, byte [esp + 0x14]
jne 0x891f86
jmp 0x891f57
mov byte [esp + 0x30], cl
mov dword [esp + 0x10], 0
mov ebx, dword [esp + 0x1c]
xor edx, edx
jmp 0x892221
lea edx, [esp + 0x57]
mov eax, dword [0xa722dc]
mov ecx, dword [0xa72034]
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
push 0x641db6d4
push esi
push edx
push ebx
call ecx
add esp, 0x10
mov ebx, dword [esp + 0x58]
movzx eax, byte [esp + 0x57]
mov ecx, dword [0xa721f0]
mov edx, dword [0xa7208c]
sub edx, edi
add edx, ecx
movzx ecx, byte [esp + 0x24]
push 0x1656fc76
lea esi, [esp + 0x6c]
push esi
push ecx
push eax
call edx
add esp, 0x10
movzx edx, byte [esp + 0x68]
test dl, 1
jne 0x8914fb
mov dword [esp + 0xc], edx
mov eax, dword [0xa72208]
mov ecx, dword [0xa72170]
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
push 0x3c70310
lea esi, [esp + 0x5c]
push esi
push dword [esp + 0x34]
push dword [esp + 0x14]
call ecx
add esp, 0x10
mov eax, dword [0xa722a4]
mov ecx, dword [0xa72124]
sub ecx, edi
add ecx, eax
push 0x986bc809
push dword [esp + 0x5c]
push dword [esp + 0x24]
call ecx
add esp, 0xc
test al, 1
mov edx, dword [esp + 0x34]
jne 0x892310
mov eax, dword [0xa722cc]
mov ecx, dword [0xa72084]
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
push edx
call ecx
mov ebx, eax
mov eax, dword [0xa721a0]
mov ecx, dword [0xa720d4]
sub ecx, edi
add ecx, eax
push 0x862dd62f
push ebx
call ecx
add esp, 8
test al, 1
jne 0x8914fb
mov eax, dword [0xa721a8]
mov ecx, dword [0xa72048]
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
push 0x42f1c681
push esi
push ebx
push dword [esp + 0x14]
call ecx
add esp, 0x10
mov eax, dword [esp + 0x58]
mov dword [esp + 0x1c], eax
mov eax, dword [0xa722a8]
mov ecx, dword [0xa71fc0]
sub ecx, edi
add ecx, eax
push 0xa4ef9602
push esi
mov dword [esp + 0x34], ebx
push ebx
push dword [esp + 0x14]
call ecx
add esp, 0x10
mov eax, dword [esp + 0x58]
mov dword [esp + 0x18], eax
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0xc]
test dl, 1
jne 0x892218
mov ecx, dword [0xa72188]
mov eax, dword [0xa71fc8]
mov edi, dword [esp + 4]
sub eax, edi
add eax, ecx
movzx ecx, dl
push 0x5b4df09d
lea edx, [esp + 0x54]
push edx
lea edx, [esp + 0x70]
push edx
push dword [esp + 0x14]
push ecx
push dword [esp + 0x2c]
push ebx
call eax
add esp, 0x1c
movzx eax, byte [esp + 0x68]
mov byte [esp + 0x24], al
mov eax, dword [0xa72220]
mov ecx, dword [0xa72064]
sub ecx, edi
add ecx, eax
push 0x132737e5
push dword [esp + 0x54]
push dword [esp + 0x40]
call ecx
add esp, 0xc
test al, 1
jne 0x8921c0
mov eax, dword [0xa72244]
mov ecx, dword [0xa71fdc]
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
push 0x3cd8ab11
lea eax, [esp + 0x54]
push eax
push esi
mov dword [esp + 0x2c], ebx
push ebx
push dword [esp + 0x18]
call ecx
add esp, 0x14
mov eax, dword [esp + 0x58]
mov dword [esp + 0x28], eax
mov esi, dword [esp + 0x50]
mov eax, dword [0xa721d8]
mov ecx, dword [0xa71fd0]
sub ecx, edi
add ecx, eax
push 0x607347d8
push esi
call ecx
add esp, 8
test al, 1
je 0x8923f1
mov eax, dword [0xa722bc]
mov ecx, dword [0xa720a4]
sub ecx, dword [esp + 4]
add ecx, eax
push 0x7115d454
jmp 0x892407
mov eax, dword [0xa72270]
mov ecx, dword [0xa72070]
sub ecx, dword [esp + 4]
add ecx, eax
push 0x20501fc4
push esi
call ecx
add esp, 8
test al, 1
jne 0x8925d8
xor edx, edx
lea esi, [esp + 0x58]
mov ebx, dword [esp + 8]
jmp 0x892468
mov eax, dword [0xa721c0]
mov ecx, dword [0xa72098]
sub ecx, dword [esp + 4]
add ecx, eax
push 0xd7e92297
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x54]
push dword [esp + 0x18]
call ecx
add esp, 0x10
mov edx, dword [esp + 0x50]
test al, 1
lea esi, [esp + 0x58]
jne 0x8925e9
mov ecx, dword [0xa722fc]
mov eax, dword [0xa71fcc]
sub eax, dword [esp + 4]
add eax, ecx
push 0x848bc893
lea ecx, [esp + 0x6c]
push ecx
lea ecx, [esp + 0x68]
push ecx
push esi
push ebx
mov dword [esp + 0x20], edx
push edx
push dword [ebp + 8]
call eax
add esp, 0x1c
movzx eax, word [esp + 0x60]
movzx ecx, word [esp + 0x68]
movzx ebx, word [esp + 0x58]
mov edx, dword [0xa721bc]
mov edi, dword [0xa7204c]
sub edi, dword [esp + 4]
add edi, edx
push 0x588bcb65
lea edx, [esp + 0x5b]
push edx
push dword [esp + 0x10]
push ecx
push eax
call edi
add esp, 0x14
movzx eax, byte [esp + 0x57]
mov ecx, dword [0xa72234]
mov edx, dword [0xa7202c]
sub edx, dword [esp + 4]
add edx, ecx
push 0xc4db5fa2
push esi
push eax
push ebx
mov ebx, dword [esp + 0x18]
push ebx
call edx
add esp, 0x14
test al, 1
jne 0x892430
movzx eax, word [esp + 0x58]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
movzx ebx, word [eax + ecx*2]
mov eax, dword [0xa721d0]
mov ecx, dword [0xa7206c]
mov esi, dword [esp + 4]
sub ecx, esi
add ecx, eax
push 0xee5edd1a
lea eax, [esp + 0x5c]
push eax
mov edi, eax
push dword [esp + 0x10]
push ebx
push dword [esp + 0x18]
call ecx
add esp, 0x14
movzx eax, word [esp + 0x58]
mov ecx, dword [0xa72300]
mov edx, dword [0xa72144]
sub edx, esi
add edx, ecx
push 0xc33d33c2
lea ecx, [esp + 0x64]
push ecx
push edi
mov esi, edi
push eax
push dword [esp + 0x18]
call edx
add esp, 0x14
movzx eax, word [esp + 0x58]
movzx ecx, word [esp + 0x60]
mov edi, dword [0xa72308]
mov edx, dword [0xa7211c]
sub edx, dword [esp + 4]
add edx, edi
push 0x5c0bdf8e
push esi
lea esi, [esp + 0x5f]
push esi
push ebx
push dword [esp + 0x18]
push ecx
push eax
call edx
add esp, 0x1c
movzx eax, byte [esp + 0x57]
movzx ecx, word [esp + 0x58]
mov edx, dword [0xa722e8]
mov edi, dword [0xa7214c]
sub edi, dword [esp + 4]
add edi, edx
push 0x5506b4c1
push dword [esp + 0x18]
push ebx
mov ebx, dword [esp + 0x14]
push ecx
push eax
call edi
add esp, 0x14
test al, 1
jne 0x892430
lea esi, [esp + 0x58]
lea edx, [esp + 0x57]
mov ebx, dword [esp + 0x20]
jmp 0x8921c4
mov eax, dword [0xa72330]
mov ecx, dword [0xa720b0]
sub ecx, dword [esp + 4]
add ecx, eax
movzx eax, byte [esp + 0x30]
push 0xe97a1439
push esi
push eax
mov edi, dword [esp + 0x2c]
push edi
push ebx
call ecx
add esp, 0x14
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x10], ecx
mov byte [esp + 0x24], 1
test al, 1
jne 0x892627
mov eax, dword [ebp + 0xc]
mov dword [eax], edi
lea edx, [esp + 0x57]
mov ebx, edi
jmp 0x8921c4
mov dword [esp + 0x10], 0
mov esi, dword [esp + 0x1c]
xor ebx, ebx
jmp 0x892683
movzx edx, byte [esp + 0xc]
mov eax, dword [0xa72228]
mov ecx, dword [0xa720c8]
sub ecx, dword [esp + 4]
add ecx, eax
movzx eax, dl
push 0x388f24ae
lea edx, [esp + 0x6c]
push edx
lea edx, [esp + 0x60]
push edx
push eax
push esi
call ecx
add esp, 0x14
mov esi, dword [esp + 0x58]
movzx ebx, byte [esp + 0x68]
test bl, 1
jne 0x8914fb
mov eax, dword [0xa72268]
mov ecx, dword [0xa71ff0]
sub ecx, dword [esp + 4]
add ecx, eax
push 0x6080b6da
push dword [esp + 0x20]
push dword [esp + 0x34]
push dword [esp + 0x14]
call ecx
add esp, 0x10
test al, 1
jne 0x89272b
mov eax, dword [0xa722cc]
mov ecx, dword [0xa72084]
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
push dword [esp + 0x34]
call ecx
mov esi, eax
mov eax, dword [0xa721b0]
mov ecx, dword [0xa720dc]
sub ecx, edi
add ecx, eax
push 0x85520a68
push esi
call ecx
add esp, 8
test al, 1
jne 0x8914fb
mov eax, dword [0xa72304]
mov ecx, dword [0xa72150]
sub ecx, dword [esp + 4]
add ecx, eax
push 0x262f63ac
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0x38], esi
push esi
push dword [esp + 0x18]
call ecx
add esp, 0x14
mov esi, dword [esp + 0x58]
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], esi
test bl, 1
jne 0x89267a
mov ecx, dword [0xa721ac]
mov eax, dword [0xa72134]
mov edi, dword [esp + 4]
sub eax, edi
add eax, ecx
movzx ecx, bl
push 0xee245c8f
lea edx, [esp + 0x5c]
push edx
lea edx, [esp + 0x70]
push edx
mov ebx, dword [esp + 0x14]
push ebx
push ecx
push dword [esp + 0x2c]
push esi
call eax
add esp, 0x1c
movzx eax, byte [esp + 0x68]
mov byte [esp + 0xc], al
movzx eax, word [esp + 0x58]
mov ecx, dword [0xa72190]
mov edx, dword [0xa71fd8]
sub edx, edi
add edx, ecx
push 0xcf1df39f
push dword [esp + 0x3c]
push eax
call edx
add esp, 0xc
test al, 1
jne 0x892642
mov eax, dword [0xa722c4]
mov ecx, dword [0xa72120]
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
push 0x7e85c25a
lea eax, [esp + 0x5c]
push eax
push esi
push ebx
call ecx
add esp, 0x10
mov eax, dword [0xa72198]
mov ecx, dword [0xa72090]
sub ecx, edi
add ecx, eax
push 0x59616e19
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x60]
call ecx
add esp, 0xc
mov ecx, dword [esp + 0x50]
test al, 1
je 0x892804
mov eax, dword [0xa72324]
mov edx, dword [0xa72174]
sub edx, dword [esp + 4]
add edx, eax
push 0xf8977ac
jmp 0x89281a
mov eax, dword [0xa722e0]
mov edx, dword [0xa72040]
sub edx, dword [esp + 4]
add edx, eax
push 0xaa5929d2
push ecx
call edx
add esp, 8
test al, 1
movzx edx, byte [esp + 0xc]
jne 0x892647
mov eax, dword [0xa72210]
mov ecx, dword [0xa72010]
sub ecx, dword [esp + 4]
add ecx, eax
push 0xc6bad125
lea eax, [esp + 0x5c]
push eax
push esi
push dword [esp + 0x14]
call ecx
add esp, 0x10
mov eax, dword [esp + 0x58]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [eax], esi
mov dl, 1
jmp 0x892647