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

Disassembly:
sub esp, 0xa3c
xor eax, eax
xor ecx, ecx
push ebx
push ebp
mov ebp, dword [esp + 0xa4c]
mov al, byte [ebp + 0x12]
mov cl, byte [ebp + 0x15]
mov dl, byte [ebp + 0xac]
push esi
push edi
mov esi, ebp
lea edi, [esp + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x14], ecx
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
mov byte [esp + 0x35], al
shr eax, 8
mov byte [esp + 0x34], al
mov al, byte [ebp + 0xa4]
mov byte [esp + 0x37], al
mov eax, dword [ebp + 0x18]
mov byte [esp + 0x36], dl
mov ecx, eax
mov edx, eax
mov byte [esp + 0x3f], al
shr eax, 0x18
shr ecx, 8
shr edx, 0x10
mov byte [esp + 0x3c], al
mov eax, dword [ebp + 0x1c]
mov byte [esp + 0x3e], cl
mov byte [esp + 0x3d], dl
mov ecx, eax
mov edx, eax
mov byte [esp + 0x47], al
shr eax, 0x18
xor ebx, ebx
shr ecx, 8
shr edx, 0x10
mov byte [esp + 0x44], al
mov eax, dword [ebp + 0x40]
mov byte [esp + 0x46], cl
mov byte [esp + 0x45], dl
mov ecx, eax
mov edx, eax
mov byte [esp + 0x4f], al
shr ecx, 8
shr edx, 0x10
shr eax, 0x18
mov byte [esp + 0x4e], cl
mov byte [esp + 0x4d], dl
mov edx, dword [ebp + 0x4c]
mov byte [esp + 0x4c], al
mov eax, dword [ebp + 0x48]
mov ecx, 0x20
mov byte [esp + 0x3b], bl
mov byte [esp + 0x3a], bl
mov byte [esp + 0x39], bl
mov byte [esp + 0x38], bl
mov byte [esp + 0x43], bl
mov byte [esp + 0x42], bl
mov byte [esp + 0x41], bl
mov byte [esp + 0x40], bl
mov byte [esp + 0x4b], bl
mov byte [esp + 0x4a], bl
mov byte [esp + 0x49], bl
mov byte [esp + 0x48], bl
call fcn.00599df0
mov ecx, eax
mov edx, eax
mov byte [esp + 0x53], al
shr ecx, 8
shr edx, 0x10
shr eax, 0x18
mov byte [esp + 0x50], al
mov eax, dword [ebp + 0x48]
mov byte [esp + 0x52], cl
mov byte [esp + 0x51], dl
mov byte [esp + 0x57], al
mov ecx, eax
mov edx, eax
shr ecx, 8
shr edx, 0x10
shr eax, 0x18
mov byte [esp + 0x56], cl
mov byte [esp + 0x55], dl
mov edx, dword [ebp + 0x34]
mov byte [esp + 0x54], al
mov eax, dword [ebp + 0x30]
mov ecx, 0x20
call fcn.00599df0
mov ecx, eax
mov edx, eax
mov byte [esp + 0x5b], al
shr eax, 0x18
shr ecx, 8
shr edx, 0x10
mov byte [esp + 0x58], al
mov eax, dword [ebp + 0x30]
mov byte [esp + 0x5a], cl
mov byte [esp + 0x59], dl
mov ecx, eax
mov edx, eax
mov byte [esp + 0x5f], al
shr ecx, 8
shr edx, 0x10
shr eax, 0x18
mov byte [esp + 0x5e], cl
mov byte [esp + 0x5d], dl
mov edx, dword [ebp + 0x3c]
mov byte [esp + 0x5c], al
mov eax, dword [ebp + 0x38]
mov ecx, 0x20
call fcn.00599df0
mov ecx, eax
mov edx, eax
mov byte [esp + 0x63], al
shr eax, 0x18
shr ecx, 8
shr edx, 0x10
mov byte [esp + 0x60], al
mov eax, dword [ebp + 0x38]
mov byte [esp + 0x62], cl
mov byte [esp + 0x61], dl
mov ecx, eax
mov edx, eax
mov byte [esp + 0x67], al
shr ecx, 8
shr edx, 0x10
shr eax, 0x18
mov byte [esp + 0x66], cl
mov byte [esp + 0x65], dl
mov edx, dword [ebp + 0x24]
mov byte [esp + 0x64], al
mov eax, dword [ebp + 0x20]
mov ecx, 0x20
call fcn.00599df0
mov ecx, eax
mov edx, eax
mov byte [esp + 0x6b], al
shr eax, 0x18
shr ecx, 8
shr edx, 0x10
mov byte [esp + 0x68], al
mov eax, dword [ebp + 0x20]
mov byte [esp + 0x6a], cl
mov byte [esp + 0x69], dl
mov ecx, eax
mov edx, eax
mov byte [esp + 0x6f], al
shr ecx, 8
shr edx, 0x10
shr eax, 0x18
mov byte [esp + 0x6e], cl
mov byte [esp + 0x6d], dl
mov edx, dword [ebp + 0x2c]
mov byte [esp + 0x6c], al
mov eax, dword [ebp + 0x28]
mov ecx, 0x20
call fcn.00599df0
mov ecx, eax
mov edx, eax
mov byte [esp + 0x73], al
shr eax, 0x18
shr ecx, 8
shr edx, 0x10
mov byte [esp + 0x70], al
mov eax, dword [ebp + 0x28]
mov byte [esp + 0x72], cl
mov byte [esp + 0x71], dl
mov ecx, eax
mov edx, eax
mov byte [esp + 0x77], al
shr ecx, 8
shr edx, 0x10
shr eax, 0x18
mov byte [esp + 0x76], cl
mov byte [esp + 0x75], dl
mov edx, dword [ebp + 0x54]
mov byte [esp + 0x74], al
mov eax, dword [ebp + 0x50]
mov ecx, 0x20
call fcn.00599df0
mov ecx, eax
mov edx, eax
mov byte [esp + 0x7b], al
shr eax, 0x18
shr ecx, 8
shr edx, 0x10
mov byte [esp + 0x78], al
mov eax, dword [ebp + 0x50]
mov byte [esp + 0x79], dl
mov byte [esp + 0x7a], cl
mov ecx, eax
mov edx, eax
mov byte [esp + 0x7f], al
shr ecx, 8
shr eax, 0x18
shr edx, 0x10
mov byte [esp + 0x7e], cl
mov ecx, dword [ebp + 0x90]
mov byte [esp + 0x7c], al
mov byte [esp + 0x7d], dl
mov eax, ecx
shr eax, 0x20
mov edx, eax
shr edx, 8
mov byte [esp + 0x82], dl
mov edx, eax
mov byte [esp + 0x83], al
shr eax, 0x18
shr edx, 0x10
mov byte [esp + 0x80], al
mov eax, ecx
mov byte [esp + 0x81], dl
mov edx, ecx
shr eax, 8
mov byte [esp + 0x87], cl
shr ecx, 0x18
shr edx, 0x10
mov byte [esp + 0x86], al
mov eax, dword [ebp + 0x58]
mov byte [esp + 0x85], dl
mov byte [esp + 0x84], cl
mov ecx, eax
mov edx, eax
mov byte [esp + 0x8b], al
shr eax, 0x18
shr ecx, 8
shr edx, 0x10
mov byte [esp + 0x88], al
mov eax, dword [ebp + 0x5c]
mov byte [esp + 0x8a], cl
mov byte [esp + 0x89], dl
mov ecx, eax
shr ecx, 8
mov edx, eax
shr edx, 0x10
mov byte [esp + 0x8f], al
mov byte [esp + 0x8e], cl
mov byte [esp + 0x8d], dl
shr eax, 0x18
mov byte [esp + 0x8c], al
mov eax, dword [ebp + 0x64]
mov ecx, eax
mov edx, eax
mov byte [esp + 0x93], al
shr eax, 0x18
shr ecx, 8
shr edx, 0x10
mov byte [esp + 0x90], al
mov eax, dword [ebp + 0x60]
mov byte [esp + 0x92], cl
mov ecx, eax
mov byte [esp + 0x91], dl
mov edx, eax
mov byte [esp + 0x97], al
shr eax, 0x18
mov byte [esp + 0x94], al
mov eax, dword [ebp + 0xb0]
lea esi, [esp + eax + 0x98]
mov eax, dword [esp + 0x18]
shr ecx, 8
shr edx, 0x10
xor edi, edi
cmp eax, ebx
mov byte [esp + 0x96], cl
mov byte [esp + 0x95], dl
jbe 0x4a6ac4
mov ecx, dword [ebp + 0x6c]
mov eax, dword [ecx + edi*8]
lea edx, [ecx + edi*8]
mov edx, dword [edx + 4]
mov ecx, 0x20
mov dword [esp + 0x10], eax
call fcn.00599df0
mov byte [esi + 3], al
mov ecx, eax
mov edx, eax
shr eax, 0x18
shr ecx, 8
shr edx, 0x10
mov byte [esi], al
mov eax, dword [esp + 0x10]
mov byte [esi + 2], cl
mov byte [esi + 1], dl
mov ecx, eax
mov edx, eax
mov byte [esi + 7], al
shr eax, 0x18
shr ecx, 8
shr edx, 0x10
mov byte [esi + 4], al
mov eax, dword [esp + 0x18]
mov byte [esi + 6], cl
mov byte [esi + 5], dl
add esi, 8
inc edi
cmp edi, eax
jb 0x4a6a69
mov eax, dword [esp + 0x14]
xor edi, edi
cmp eax, ebx
jbe 0x4a6b2b
mov eax, dword [ebp + 0x70]
mov ecx, dword [eax + edi*8]
lea edx, [eax + edi*8]
mov eax, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x10], ecx
mov ecx, 0x20
call fcn.00599df0
mov byte [esi + 3], al
mov edx, eax
mov ecx, eax
shr eax, 0x18
shr edx, 8
shr ecx, 0x10
mov byte [esi], al
mov eax, dword [esp + 0x10]
mov byte [esi + 2], dl
mov byte [esi + 1], cl
mov edx, eax
mov ecx, eax
mov byte [esi + 7], al
shr eax, 0x18
shr edx, 8
shr ecx, 0x10
mov byte [esi + 4], al
mov eax, dword [esp + 0x14]
mov byte [esi + 6], dl
mov byte [esi + 5], cl
add esi, 8
inc edi
cmp edi, eax
jb 0x4a6ace
test byte [esp + 0xa58], 2
je 0x4a6d35
movzx di, byte [ebp + 0xe]
movzx dx, byte [ebp + 0xf]
mov eax, dword [ebp + 0x80]
mov byte [esi + 3], al
mov ecx, eax
shl edi, 8
shr ecx, 8
mov byte [esi + 2], cl
add edi, edx
mov edx, eax
shr edx, 0x10
mov byte [esi + 1], dl
shr eax, 0x18
mov byte [esi], al
mov eax, dword [ebp + 0x84]
mov byte [esi + 7], al
add esi, 4
mov ecx, eax
mov edx, eax
shr ecx, 8
mov byte [esi + 2], cl
shr edx, 0x10
mov byte [esi + 1], dl
shr eax, 0x18
mov byte [esi], al
mov eax, dword [ebp + 0x94]
add esi, 4
mov byte [esi + 3], al
mov ecx, eax
mov edx, eax
shr ecx, 8
mov byte [esi + 2], cl
shr edx, 0x10
shr eax, 0x18
mov byte [esi + 1], dl
mov byte [esi], al
mov eax, dword [ebp + 0x88]
mov edx, dword [ebp + 0x8c]
mov ecx, 0x20
and edi, 0xffff
add esi, 4
mov dword [esp + 0x10], eax
call fcn.00599df0
mov byte [esi + 3], al
mov ecx, eax
mov edx, eax
shr eax, 0x18
mov byte [esi], al
mov eax, dword [esp + 0x10]
mov byte [esi + 7], al
shr edx, 0x10
mov byte [esi + 1], dl
mov edx, eax
shr ecx, 8
mov byte [esi + 2], cl
mov ecx, eax
shr eax, 0x18
mov byte [esi + 4], al
shr edx, 0x10
mov byte [esi + 5], dl
shr ecx, 8
mov byte [esi + 6], cl
mov ecx, dword [ebp + 0x98]
mov eax, ecx
cdq
add esi, 8
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov eax, edx
mov byte [esi + 3], dl
shr edx, 0x18
shr eax, 0x10
mov byte [esi], dl
mov byte [esi + 1], al
mov edx, ecx
shr edx, 8
mov eax, ecx
mov byte [esi + 7], cl
mov byte [esi + 6], dl
shr eax, 0x10
mov byte [esi + 5], al
shr ecx, 0x18
mov byte [esi + 4], cl
mov ecx, dword [ebp + 0x9c]
mov eax, ecx
cdq
mov byte [esi + 0xb], dl
mov eax, edx
shr eax, 8
mov byte [esi + 0xa], al
add esi, 8
mov byte [esi + 7], cl
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
shr edx, 0x18
mov byte [esi], dl
mov edx, ecx
mov eax, ecx
shr eax, 0x10
mov byte [esi + 5], al
shr edx, 8
mov byte [esi + 6], dl
shr ecx, 0x18
mov byte [esi + 4], cl
mov ecx, dword [ebp + 0xa0]
mov eax, ecx
cdq
add esi, 8
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
shr edx, 0x18
mov byte [esi], dl
mov byte [esi + 7], cl
mov edx, ecx
mov eax, ecx
shr ecx, 0x18
mov byte [esi + 4], cl
shr edx, 8
mov byte [esi + 6], dl
shr eax, 0x10
mov byte [esi + 5], al
mov ecx, dword [ebp + 0x78]
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x7c]
mov dword [esp + 0x10], ecx
mov ecx, 0x20
add esi, 8
call fcn.00599df0
mov byte [esi + 3], al
mov edx, eax
mov ecx, eax
shr eax, 0x18
shr ecx, 0x10
shr edx, 8
mov byte [esi], al
mov eax, dword [esp + 0x10]
mov byte [esi + 1], cl
mov byte [esi + 2], dl
mov edx, eax
mov ecx, eax
mov byte [esi + 7], al
shr ecx, 0x10
shr edx, 8
shr eax, 0x18
mov byte [esi + 5], cl
mov byte [esi + 6], dl
mov byte [esi + 4], al
add esi, 8
xor ecx, ecx
cmp edi, ebx
jbe 0x4a6d35
mov edx, dword [ebp + 0x68]
mov eax, dword [edx + ecx*4]
mov edx, eax
shr edx, 8
mov byte [esi + 2], dl
mov edx, eax
mov byte [esi + 3], al
shr edx, 0x10
shr eax, 0x18
mov byte [esi + 1], dl
mov byte [esi], al
add esi, 4
inc ecx
cmp ecx, edi
jb 0x4a6d0f
test byte [esp + 0xa58], 1
je 0x4a6d6d
mov edx, dword [esp + 0xa50]
push 0x84
push ebx
lea eax, [esp + 0x24]
push ebx
sub esi, eax
push esi
lea ecx, [esp + 0x2c]
push ecx
push edx
call fcn.004c8670
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa3c
ret
mov edx, dword [esp + 0xa50]
lea eax, [esp + 0x1c]
push 4
sub esi, eax
push esi
lea ecx, [esp + 0x24]
push ecx
push edx
call fcn.004caa20
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa3c
ret