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

Disassembly:
sub esp, 0xa3c
push ebx
push ebp
mov ebp, dword [esp + 0xa4c]
movzx ecx, byte [ebp + 0x15]
movzx eax, byte [ebp + 0x12]
mov dl, byte [ebp + 0xac]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0xc], ecx
push esi
push edi
mov ecx, 6
mov esi, ebp
lea edi, [esp + 0x1c]
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.0042e640
mov ecx, eax
mov edx, eax
mov byte [esp + 0x53], al
shr eax, 0x18
shr ecx, 8
mov byte [esp + 0x50], al
mov eax, dword [ebp + 0x48]
mov byte [esp + 0x52], cl
shr edx, 0x10
mov ecx, eax
mov byte [esp + 0x51], dl
mov byte [esp + 0x57], al
shr ecx, 8
mov edx, eax
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.0042e640
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.0042e640
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.0042e640
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.0042e640
mov byte [esp + 0x73], al
mov ecx, eax
mov edx, eax
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.0042e640
mov ecx, eax
mov edx, eax
mov byte [esp + 0x7b], al
shr eax, 0x18
shr edx, 0x10
mov byte [esp + 0x78], al
mov eax, dword [ebp + 0x50]
shr ecx, 8
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 + 0x7c], al
mov byte [esp + 0x7e], cl
mov ecx, dword [ebp + 0x90]
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 edx, 0x10
shr ecx, 0x18
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
mov edx, eax
shr ecx, 8
shr edx, 0x10
mov byte [esp + 0x8f], al
shr eax, 0x18
mov byte [esp + 0x8e], cl
mov byte [esp + 0x8d], dl
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 0x40d6e4
mov ecx, dword [ebp + 0x6c]
mov edx, dword [ecx + edi*8]
lea ecx, [ecx + edi*8]
mov dword [esp + 0x10], edx
mov eax, edx
mov edx, dword [ecx + 4]
mov ecx, 0x20
call fcn.0042e640
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 0x40d687
mov eax, dword [esp + 0x14]
xor edi, edi
cmp eax, ebx
jbe 0x40d74d
mov edi, edi
mov eax, dword [ebp + 0x70]
mov edx, dword [eax + edi*8]
lea ecx, [eax + edi*8]
mov dword [esp + 0x10], edx
mov eax, edx
mov edx, dword [ecx + 4]
mov ecx, 0x20
call fcn.0042e640
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 + 0x14]
mov byte [esi + 6], cl
mov byte [esi + 5], dl
add esi, 8
inc edi
cmp edi, eax
jb 0x40d6f0
test byte [esp + 0xa58], 2
je 0x40d966
movzx ax, byte [ebp + 0xe]
movzx cx, byte [ebp + 0xf]
xor edx, edx
add esi, 4
add esi, 4
shl eax, 8
add esi, 4
add eax, ecx
mov dx, ax
mov eax, dword [ebp + 0x80]
mov byte [esi - 9], al
mov ecx, eax
shr ecx, 8
mov byte [esi - 0xa], cl
mov dword [esp + 0x14], edx
mov edx, eax
shr edx, 0x10
mov byte [esi - 0xb], dl
shr eax, 0x18
mov byte [esi - 0xc], al
mov eax, dword [ebp + 0x84]
mov byte [esi - 5], al
mov ecx, eax
mov edx, eax
shr ecx, 8
mov byte [esi - 6], cl
shr edx, 0x10
mov byte [esi - 7], dl
shr eax, 0x18
mov byte [esi - 8], al
mov eax, dword [ebp + 0x94]
mov byte [esi - 1], al
mov ecx, eax
mov edx, eax
shr ecx, 8
mov byte [esi - 2], cl
shr edx, 0x10
shr eax, 0x18
mov byte [esi - 3], dl
mov byte [esi - 4], al
mov eax, dword [ebp + 0x88]
mov edx, dword [ebp + 0x8c]
mov ecx, 0x20
mov dword [esp + 0x10], eax
call fcn.0042e640
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
shr ecx, 8
mov byte [esi + 2], cl
mov ecx, eax
mov edx, 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 + 3], dl
mov byte [esi + 2], al
mov eax, edx
shr edx, 0x18
mov byte [esi], dl
shr eax, 0x10
mov edx, ecx
shr edx, 8
mov byte [esi + 1], al
mov byte [esi + 7], cl
mov byte [esi + 6], dl
mov eax, ecx
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
shr edx, 8
shr eax, 0x10
mov byte [esi + 5], al
mov byte [esi + 4], cl
mov byte [esi + 6], dl
mov ecx, dword [ebp + 0x78]
mov edx, dword [ebp + 0x7c]
mov dword [esp + 0x10], ecx
mov eax, ecx
mov ecx, 0x20
add esi, 8
call fcn.0042e640
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 ecx, eax
mov edx, eax
shr ecx, 0x10
mov byte [esi + 7], al
shr edx, 8
shr eax, 0x18
mov byte [esi + 5], cl
mov ecx, dword [esp + 0x14]
mov byte [esi + 6], dl
mov byte [esi + 4], al
add esi, 8
xor edi, edi
cmp ecx, ebx
jbe 0x40d966
lea ebx, [ebx]
mov edx, dword [ebp + 0x68]
mov eax, dword [edx + edi*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 edi
cmp edi, ecx
jb 0x40d940
mov al, byte [esp + 0xa58]
mov edx, dword [esp + 0xa50]
test al, 1
lea ecx, [esp + 0x1c]
lea eax, [esp + 0x1c]
je 0x40d99f
push 0x84
push ebx
push ebx
sub esi, eax
push esi
push ecx
push edx
call fcn.004262b0
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa3c
ret
push 4
sub esi, eax
push esi
push ecx
push edx
call fcn.00427660
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa3c
ret