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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1c
call fcn.00628ef0
mov eax, ecx
mov dword [ebp - 0xc], edx
mov ecx, dword [edx]
mov edx, 1
push ebx
push esi
mov esi, dword [eax + 4]
push edi
mov edi, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, edi
shr eax, 0x10
imul ecx, eax
shr esi, 0x10
test ecx, ecx
je 0x52abf7
mov eax, ecx
movzx ebx, cx
mov ecx, dword [ebp - 0xc]
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x52abfe
mov ecx, dword [ebp - 0xc]
mov ebx, edx
sub ebx, dword [ecx]
add esi, dword [ecx + 8]
sub ebx, eax
add edi, dword [ecx + 4]
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x18]
mov dword [ebp - 8], edi
mov eax, dword [esi + 4]
mov esi, dword [ecx + 0xc]
movzx eax, ax
imul esi, eax
test esi, esi
je 0x52ac30
mov eax, esi
movzx edi, si
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x52ac35
mov edi, edx
sub edi, dword [ecx + 0xc]
mov esi, dword [ecx + 0x10]
sub edi, eax
mov eax, dword [ebp - 0x10]
xor eax, ebx
movzx eax, ax
imul esi, eax
test esi, esi
je 0x52ac5a
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x52ac5f
mov esi, edx
sub esi, dword [ecx + 0x10]
sub esi, eax
mov eax, edi
xor eax, dword [ebp - 8]
add eax, esi
movzx eax, ax
mov dword [ebp - 0xc], eax
mov eax, dword [ecx + 0x14]
imul eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x52ac9c
mov edx, dword [ebp - 0x14]
shr eax, 0x10
movzx edx, dx
sub edx, eax
mov eax, edx
mov dword [ebp - 4], edx
shr eax, 0x10
mov edx, 1
sub dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x52aca4
mov eax, edx
sub eax, dword [ecx + 0x14]
sub eax, dword [ebp - 0xc]
add esi, eax
xor edi, esi
xor esi, dword [ebp - 8]
mov dword [ebp - 0x14], edi
mov edi, eax
xor edi, dword [ebp - 0x10]
xor eax, ebx
mov ebx, dword [ecx + 0x18]
mov dword [ebp - 8], edi
movzx edi, ax
imul ebx, edi
test ebx, ebx
je 0x52acdb
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
sub ebx, eax
mov dword [ebp - 0xc], ebx
jmp 0x52ace5
mov eax, edx
sub eax, dword [ecx + 0x18]
sub eax, edi
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
add eax, dword [ecx + 0x1c]
mov edi, dword [ebp - 0x14]
add esi, dword [ecx + 0x20]
mov dword [ebp - 8], eax
movzx eax, di
mov edi, dword [ecx + 0x24]
imul edi, eax
mov dword [ebp - 0x1c], esi
test edi, edi
je 0x52ad15
mov eax, edi
movzx ebx, di
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x52ad1a
mov ebx, edx
sub ebx, dword [ecx + 0x24]
mov edi, dword [ecx + 0x28]
sub ebx, eax
mov eax, esi
xor eax, dword [ebp - 0xc]
movzx eax, ax
imul edi, eax
test edi, edi
je 0x52ad3f
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x52ad44
mov edi, edx
sub edi, dword [ecx + 0x28]
sub edi, eax
mov eax, ebx
xor eax, dword [ebp - 8]
add eax, edi
movzx eax, ax
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 0x2c]
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x52ad7f
mov esi, dword [ebp - 0x14]
shr eax, 0x10
movzx esi, si
sub esi, eax
mov eax, esi
mov dword [ebp - 4], esi
mov esi, dword [ebp - 0x1c]
shr eax, 0x10
sub dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x52ad87
mov eax, edx
sub eax, dword [ecx + 0x2c]
sub eax, dword [ebp - 0x10]
add edi, eax
mov dword [ebp - 4], eax
xor dword [ebp - 4], esi
xor ebx, edi
xor eax, dword [ebp - 0xc]
mov esi, dword [ecx + 0x30]
xor edi, dword [ebp - 8]
movzx eax, ax
imul esi, eax
test esi, esi
je 0x52adb5
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x52adba
mov esi, edx
sub esi, dword [ecx + 0x30]
add edi, dword [ecx + 0x38]
sub esi, eax
mov eax, dword [ebp - 4]
add eax, dword [ecx + 0x34]
mov dword [ebp - 4], eax
movzx eax, bx
mov ebx, dword [ecx + 0x3c]
imul ebx, eax
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x14], edi
test ebx, ebx
je 0x52adec
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x52adf1
mov ebx, edx
sub ebx, dword [ecx + 0x3c]
sub ebx, eax
mov eax, edi
xor eax, esi
mov esi, dword [ecx + 0x40]
movzx eax, ax
imul esi, eax
test esi, esi
je 0x52ae15
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x52ae1a
mov esi, edx
sub esi, dword [ecx + 0x40]
sub esi, eax
mov eax, ebx
xor eax, dword [ebp - 4]
add eax, esi
movzx eax, ax
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 0x44]
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x52ae55
mov edi, dword [ebp - 0x1c]
shr eax, 0x10
movzx edi, di
sub edi, eax
mov eax, edi
mov dword [ebp - 8], edi
mov edi, dword [ebp - 0x14]
shr eax, 0x10
sub dword [ebp - 8], eax
mov eax, dword [ebp - 8]
jmp 0x52ae5d
mov eax, edx
sub eax, dword [ecx + 0x44]
sub eax, dword [ebp - 0x10]
add esi, eax
xor ebx, esi
xor esi, dword [ebp - 4]
mov dword [ebp - 4], eax
xor dword [ebp - 4], edi
xor eax, dword [ebp - 0xc]
mov edi, dword [ecx + 0x48]
movzx eax, ax
imul edi, eax
test edi, edi
je 0x52ae8b
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x52ae90
mov edi, edx
sub edi, dword [ecx + 0x48]
add esi, dword [ecx + 0x50]
sub edi, eax
mov eax, dword [ebp - 4]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 4], eax
movzx eax, bx
mov ebx, dword [ecx + 0x54]
imul ebx, eax
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x14], esi
test ebx, ebx
je 0x52aec2
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x52aec7
mov ebx, edx
sub ebx, dword [ecx + 0x54]
sub ebx, eax
mov eax, esi
xor eax, edi
mov edi, dword [ecx + 0x58]
movzx eax, ax
imul edi, eax
test edi, edi
je 0x52aeeb
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x52aef0
mov edi, edx
sub edi, dword [ecx + 0x58]
sub edi, eax
mov eax, ebx
xor eax, dword [ebp - 4]
add eax, edi
movzx eax, ax
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 0x5c]
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x52af2b
mov esi, dword [ebp - 0x1c]
shr eax, 0x10
movzx esi, si
sub esi, eax
mov eax, esi
mov dword [ebp - 8], esi
mov esi, dword [ebp - 0x14]
shr eax, 0x10
sub dword [ebp - 8], eax
mov eax, dword [ebp - 8]
jmp 0x52af33
mov eax, edx
sub eax, dword [ecx + 0x5c]
sub eax, dword [ebp - 0x10]
add edi, eax
xor ebx, edi
xor edi, dword [ebp - 4]
mov dword [ebp - 4], eax
xor dword [ebp - 4], esi
xor eax, dword [ebp - 0xc]
mov esi, dword [ecx + 0x60]
movzx eax, ax
imul esi, eax
test esi, esi
je 0x52af61
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x52af66
mov esi, edx
sub esi, dword [ecx + 0x60]
add edi, dword [ecx + 0x68]
sub esi, eax
mov eax, dword [ebp - 4]
add eax, dword [ecx + 0x64]
mov dword [ebp - 4], eax
movzx eax, bx
mov ebx, dword [ecx + 0x6c]
imul ebx, eax
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x14], edi
test ebx, ebx
je 0x52af98
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x52af9d
mov ebx, edx
sub ebx, dword [ecx + 0x6c]
sub ebx, eax
mov eax, edi
xor eax, esi
mov esi, dword [ecx + 0x70]
movzx eax, ax
imul esi, eax
test esi, esi
je 0x52afc1
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x52afc6
mov esi, edx
sub esi, dword [ecx + 0x70]
sub esi, eax
mov eax, ebx
xor eax, dword [ebp - 4]
add eax, esi
movzx eax, ax
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 0x74]
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x52b001
mov edi, dword [ebp - 0x1c]
shr eax, 0x10
movzx edi, di
sub edi, eax
mov eax, edi
mov dword [ebp - 8], edi
mov edi, dword [ebp - 0x14]
shr eax, 0x10
sub dword [ebp - 8], eax
mov eax, dword [ebp - 8]
jmp 0x52b009
mov eax, edx
sub eax, dword [ecx + 0x74]
sub eax, dword [ebp - 0x10]
add esi, eax
xor ebx, esi
xor esi, dword [ebp - 4]
mov dword [ebp - 4], eax
xor dword [ebp - 4], edi
xor eax, dword [ebp - 0xc]
mov edi, dword [ecx + 0x78]
movzx eax, ax
imul edi, eax
test edi, edi
je 0x52b037
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x52b03c
mov edi, edx
sub edi, dword [ecx + 0x78]
add esi, dword [ecx + 0x80]
sub edi, eax
mov eax, dword [ebp - 4]
add eax, dword [ecx + 0x7c]
mov dword [ebp - 4], eax
movzx eax, bx
mov ebx, dword [ecx + 0x84]
imul ebx, eax
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x14], esi
test ebx, ebx
je 0x52b074
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x52b07c
mov ebx, edx
sub ebx, dword [ecx + 0x84]
sub ebx, eax
mov eax, esi
xor eax, edi
mov edi, dword [ecx + 0x88]
movzx eax, ax
imul edi, eax
test edi, edi
je 0x52b0a3
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x52b0ab
mov edi, edx
sub edi, dword [ecx + 0x88]
sub edi, eax
mov eax, ebx
xor eax, dword [ebp - 4]
add eax, edi
movzx eax, ax
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 0x8c]
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x52b0e9
mov esi, dword [ebp - 0x1c]
shr eax, 0x10
movzx esi, si
sub esi, eax
mov eax, esi
mov dword [ebp - 8], esi
mov esi, dword [ebp - 0x14]
shr eax, 0x10
sub dword [ebp - 8], eax
mov eax, dword [ebp - 8]
jmp 0x52b0f4
mov eax, edx
sub eax, dword [ecx + 0x8c]
sub eax, dword [ebp - 0x10]
add edi, eax
xor ebx, edi
xor edi, dword [ebp - 4]
mov dword [ebp - 4], eax
xor dword [ebp - 4], esi
xor eax, dword [ebp - 0xc]
mov esi, dword [ecx + 0x90]
movzx eax, ax
imul esi, eax
test esi, esi
je 0x52b125
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x52b12d
mov esi, edx
sub esi, dword [ecx + 0x90]
add edi, dword [ecx + 0x98]
sub esi, eax
mov eax, dword [ebp - 4]
add eax, dword [ecx + 0x94]
mov dword [ebp - 4], eax
movzx eax, bx
mov ebx, dword [ecx + 0x9c]
imul ebx, eax
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x14], edi
test ebx, ebx
je 0x52b168
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x52b170
mov ebx, edx
sub ebx, dword [ecx + 0x9c]
sub ebx, eax
mov eax, edi
xor eax, esi
mov esi, dword [ecx + 0xa0]
movzx eax, ax
imul esi, eax
test esi, esi
je 0x52b197
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x52b19f
mov esi, edx
sub esi, dword [ecx + 0xa0]
sub esi, eax
mov eax, ebx
xor eax, dword [ebp - 4]
add eax, esi
movzx eax, ax
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 0xa4]
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x52b1dd
mov edi, dword [ebp - 0x1c]
shr eax, 0x10
movzx edi, di
sub edi, eax
mov eax, edi
mov dword [ebp - 8], edi
mov edi, dword [ebp - 0x14]
shr eax, 0x10
sub dword [ebp - 8], eax
mov eax, dword [ebp - 8]
jmp 0x52b1e8
mov eax, edx
sub eax, dword [ecx + 0xa4]
sub eax, dword [ebp - 0x10]
add esi, eax
xor ebx, esi
xor esi, dword [ebp - 4]
mov dword [ebp - 4], eax
xor dword [ebp - 4], edi
xor eax, dword [ebp - 0xc]
mov edi, dword [ecx + 0xa8]
movzx eax, ax
imul edi, eax
test edi, edi
je 0x52b219
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x52b221
mov edi, edx
sub edi, dword [ecx + 0xa8]
add esi, dword [ecx + 0xb0]
sub edi, eax
mov eax, dword [ebp - 4]
add eax, dword [ecx + 0xac]
mov dword [ebp - 4], eax
movzx eax, bx
mov ebx, dword [ecx + 0xb4]
imul ebx, eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 0xc], esi
test ebx, ebx
je 0x52b25c
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x52b264
mov ebx, edx
sub ebx, dword [ecx + 0xb4]
sub ebx, eax
mov eax, esi
xor eax, edi
mov edi, dword [ecx + 0xb8]
movzx eax, ax
imul edi, eax
test edi, edi
je 0x52b28b
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x52b293
mov edi, edx
sub edi, dword [ecx + 0xb8]
sub edi, eax
mov eax, ebx
xor eax, dword [ebp - 4]
add eax, edi
movzx eax, ax
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 0xbc]
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x52b2d1
mov esi, dword [ebp - 0x1c]
shr eax, 0x10
movzx esi, si
sub esi, eax
mov eax, esi
mov dword [ebp - 8], esi
mov esi, dword [ebp - 0xc]
shr eax, 0x10
sub dword [ebp - 8], eax
mov eax, dword [ebp - 8]
jmp 0x52b2dc
mov eax, edx
sub eax, dword [ecx + 0xbc]
sub eax, dword [ebp - 0x10]
add edi, eax
mov dword [ebp - 0xc], eax
xor dword [ebp - 0xc], esi
xor ebx, edi
xor eax, dword [ebp - 0x14]
mov esi, dword [ecx + 0xc0]
xor edi, dword [ebp - 4]
movzx eax, ax
imul esi, eax
test esi, esi
je 0x52b30d
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x52b315
mov esi, edx
sub esi, dword [ecx + 0xc0]
sub esi, eax
movzx ebx, bx
mov eax, dword [ecx + 0xc4]
add eax, edi
mov edi, dword [ecx + 0xc8]
mov ecx, dword [ecx + 0xcc]
add edi, dword [ebp - 0xc]
mov dword [ebp - 0x14], ecx
imul ecx, ebx
mov dword [ebp - 0x1c], eax
test ecx, ecx
je 0x52b354
mov eax, ecx
movzx edx, cx
shr eax, 0x10
sub edx, eax
mov eax, edx
shr eax, 0x10
sub edx, eax
mov eax, dword [ebp - 0x1c]
jmp 0x52b359
sub edx, dword [ebp - 0x14]
sub edx, ebx
mov ecx, dword [ebp - 0x18]
shl esi, 0x10
movzx eax, ax
or eax, esi
shl edi, 0x10
mov dword [ecx], eax
movzx eax, dx
or edi, eax
mov dword [ecx + 4], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret