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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1003b1a6
mov eax, dword fs:[0]
push eax
sub esp, 0x2a0
mov eax, dword [0x10043330]
xor eax, esp
mov dword [esp + 0x298], eax
push ebx
push esi
push edi
mov eax, dword [0x10043330]
xor eax, esp
push eax
lea eax, [esp + 0x2b0]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
push 0x1ac
lea eax, [esp + 0xb4]
push 0
push eax
mov edi, ecx
mov esi, edx
mov dword [esp + 0xb8], 0
call fcn.1002fb20
add esp, 0xc
push 0x4e
lea ecx, [esp + 0x5c]
push 0
push ecx
mov dword [esp + 0x60], 0
call fcn.1002fb20
add esp, 0xc
push 0x3f
lea edx, [esp + 0x269]
push 0
push edx
mov byte [esp + 0x270], 0
call fcn.1002fb20
add esp, 0xc
lea eax, [esp + 0xac]
push eax
push edi
lea edx, [esp + 0x1f]
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f], 0
call fcn.100222e0
test al, al
jne 0x1002067e
lea ecx, [esp + 0x17]
push ecx
lea edx, [esp + 0x58]
push edx
lea ecx, [esp + 0x20]
mov edx, edi
call fcn.10022bf0
test al, al
je 0x10020984
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov dword [esi], eax
mov eax, dword [esp + 0x74]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [esi + 8], edx
movzx edx, word [esp + 0x7c]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x86]
mov dword [esi + 0x10], ecx
mov ecx, dword [esp + 0x8a]
mov word [esi + 0x14], dx
mov edx, dword [esp + 0x8e]
mov dword [ebx], eax
mov eax, dword [esp + 0x92]
mov dword [ebx + 4], ecx
mov ecx, dword [esp + 0x96]
mov dword [ebx + 8], edx
movzx edx, word [esp + 0x9a]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x7e]
mov dword [ebx + 0x10], ecx
mov ecx, dword [esp + 0x82]
mov word [ebx + 0x14], dx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
jmp 0x1002070e
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
mov dword [esi], edx
mov edx, dword [esp + 0xcc]
mov dword [esi + 4], eax
mov eax, dword [esp + 0xd0]
mov dword [esi + 8], ecx
movzx ecx, word [esp + 0xd4]
mov dword [esi + 0xc], edx
mov edx, dword [esp + 0xde]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0xe2]
mov word [esi + 0x14], cx
mov ecx, dword [esp + 0xe6]
mov dword [ebx], edx
mov edx, dword [esp + 0xea]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0xee]
mov dword [ebx + 8], ecx
movzx ecx, word [esp + 0xf2]
mov dword [ebx + 0xc], edx
mov edx, dword [esp + 0xd6]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0xda]
mov word [ebx + 0x14], cx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
push ecx
push edx
push str._08X_08X
mov ecx, 0x40
lea edi, [esp + 0x270]
call fcn.10004080
mov eax, dword [esp + 0xea]
xor edx, edx
add esp, 0xc
test al, al
mov dword [esp + 0x18], edx
mov dword [esp + 0x25d], edx
jne 0x10020750
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x25c], eax
mov edi, str.AMAB
lea esi, [esp + 0x25c]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x1002084a
mov edi, str.AMPA
lea esi, [esp + 0x25c]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x1002084a
mov edi, str.AMOK
lea esi, [esp + 0x25c]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x1002084a
mov edi, str.AMUB
lea esi, [esp + 0x25c]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x1002084a
mov edi, str.AMCB
lea esi, [esp + 0x25c]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x1002084a
mov edi, str.AMMB
lea esi, [esp + 0x25c]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x1002084a
mov edi, str.AMDR
lea esi, [esp + 0x25c]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x1002084a
mov edi, str.AMID
lea esi, [esp + 0x25c]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x1002084a
mov edi, str.AMMM
lea esi, [esp + 0x25c]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x1002084a
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebx
call fcn.100236d0
mov esi, dword [esp + 0x18]
xor edx, edx
jmp 0x10020851
mov esi, dword [esp + 0x216]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x2b8], edx
call fcn.10018840
call fcn.100289e0
test al, al
jne 0x100209d0
cmp esi, 0x19a
je 0x100209d0
cmp esi, 1
je 0x100209d0
cmp esi, 0x190
je 0x100209d0
cmp esi, 2
je 0x100209d0
cmp esi, 0x195
je 0x100209d0
mov dword [esp + 0x18], 0
jmp 0x100208c0
xor ebx, ebx
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
lea edx, [esp + 0x38]
push edx
lea esi, [esp + 0x260]
mov byte [esp + 0x2bc], 1
call fcn.10018200
mov eax, dword [esp + 0x260]
add esp, 4
cmp eax, dword [esp + 0x2c]
jne 0x1002090c
mov ecx, dword [esp + 0x260]
cmp ecx, dword [esp + 0x30]
je 0x10020988
xor esi, esi
mov edi, edi
mov edi, dword [esp + 0x20]
test edi, edi
je 0x1002094f
mov ecx, dword [esp + 0x24]
sub ecx, edi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jae 0x1002094f
add edi, ebx
lea ecx, [esp + 0x264]
call fcn.10015bf0
test eax, eax
je 0x1002099c
add esi, 1
add ebx, 0x1c
jmp 0x10020910
add dword [esp + 0x18], 1
mov byte [esp + 0x2b8], 0
cmp dword [esp + 0x50], 0x10
jb 0x10020970
mov edx, dword [esp + 0x3c]
push edx
call fcn.1002b322
add esp, 4
cmp dword [esp + 0x18], 0x32
jl 0x100208c0
lea esi, [esp + 0x1c]
call fcn.10015ca0
xor al, al
jmp 0x100209f8
lea ecx, [esp + 0x38]
call fcn.10002be0
lea esi, [esp + 0x1c]
call fcn.10015ca0
jmp 0x100209f6
cmp dword [esp + 0x50], 0x10
jb 0x100209b0
mov eax, dword [esp + 0x3c]
push eax
call fcn.1002b322
add esp, 4
lea esi, [esp + 0x1c]
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], 0
mov byte [esp + 0x3c], 0
call fcn.10015ca0
jmp 0x100209f6
mov eax, dword [esp + 0x20]
test eax, eax
je 0x100209f6
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
push ecx
call fcn.100160b0
mov edx, dword [esp + 0x24]
add esp, 4
push edx
call fcn.1002b322
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x2b0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x298]
xor ecx, esp
call fcn.1002b6af
mov esp, ebp
pop ebp
ret 4