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

Disassembly:
push ebx
xor eax, eax
push ebp
mov ebp, dword [esp + 0xc]
mov ebx, dword [ebp + 0x30]
push edi
mov ecx, 0x21
mov edi, esi
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x14]
mov dword [esi], eax
mov ecx, dword [ebp + 0x18]
mov dword [esi + 4], ecx
mov edx, dword [ebp + 0x1c]
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x20]
mov dword [esi + 0xc], eax
mov ecx, dword [ebp + 0x10]
mov dword [esi + 0x10], ecx
mov ecx, dword [ebp + 0x40]
xor edx, edx
cmp ecx, 0xa
sete dl
mov dword [esi + 0x60], edx
mov eax, dword [ebp + 0x48]
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x29aab54c
xor edx, edx
mov dh, byte [ecx + 4]
xor eax, eax
mov dl, byte [ecx + 5]
mov dword [esi + 0x18], edx
mov ah, byte [ecx + 6]
mov al, byte [ecx + 7]
mov dword [esi + 0x1c], eax
mov edx, dword [ebp + 0x4c]
cmp dword [edx + 0x28], 0x44
jbe 0x29aab4a8
xor eax, eax
mov ah, byte [ecx + 0x44]
movzx edx, byte [ecx + 0x45]
movsx eax, ax
or eax, edx
imul eax, eax, 0x3e8
cdq
idiv ebx
mov dword [esi + 0x4c], eax
movzx edx, byte [ecx + 0x47]
xor eax, eax
mov ah, byte [ecx + 0x46]
movsx eax, ax
or eax, edx
imul eax, eax, 0x3e8
cdq
idiv ebx
mov dword [esi + 0x50], eax
movzx edx, byte [ecx + 0x49]
xor eax, eax
mov ah, byte [ecx + 0x48]
movsx eax, ax
or eax, edx
imul eax, eax, 0x3e8
cdq
idiv ebx
mov dword [esi + 0x54], eax
xor eax, eax
mov ah, byte [ecx + 0x4a]
mov al, byte [ecx + 0x4b]
imul eax, eax, 0x3e8
cdq
idiv ebx
mov dword [esi + 0x58], eax
xor eax, eax
mov ah, byte [ecx + 0x4c]
mov al, byte [ecx + 0x4d]
imul eax, eax, 0x3e8
cdq
idiv ebx
lea edx, [ebx + ebx*4]
cmp eax, edx
mov dword [esi + 0x5c], eax
jle 0x29aab4a8
movzx edx, byte [ecx + 0x4d]
xor eax, eax
mov ah, byte [ecx + 0x4c]
movsx eax, ax
or eax, edx
imul eax, eax, 0x3e8
cdq
idiv ebx
mov dword [esi + 0x5c], eax
cmp dword [ebp + 0x40], 0xb
jne 0x29aab525
mov dword [esi + 0x64], 1
movzx eax, byte [ecx + 0x2b]
mov ah, byte [ecx + 0x2a]
movzx edx, byte [ecx + 0x2c]
shl eax, 8
or eax, edx
movzx edx, byte [ecx + 0x2d]
shl eax, 8
or eax, edx
mov dword [esi + 0x68], eax
movzx eax, byte [ecx + 0x2f]
mov ah, byte [ecx + 0x2e]
movzx edx, byte [ecx + 0x30]
shl eax, 8
or eax, edx
movzx edx, byte [ecx + 0x31]
shl eax, 8
or eax, edx
mov dword [esi + 0x6c], eax
movzx eax, byte [ecx + 0x33]
mov ah, byte [ecx + 0x32]
movzx edx, byte [ecx + 0x34]
shl eax, 8
or eax, edx
movzx edx, byte [ecx + 0x35]
shl eax, 8
or eax, edx
mov dword [esi + 0x70], eax
movzx eax, byte [ecx + 0x37]
mov ah, byte [ecx + 0x36]
movzx edx, byte [ecx + 0x38]
shl eax, 8
or eax, edx
movzx edx, byte [ecx + 0x39]
shl eax, 8
or eax, edx
mov dword [esi + 0x74], eax
lea eax, [ecx + 0x20]
mov edi, dword [eax]
lea edx, [esi + 0x78]
mov dword [edx], edi
mov edi, dword [eax + 4]
mov dword [edx + 4], edi
mov ax, word [eax + 8]
mov word [edx + 8], ax
movzx dx, byte [ecx + 9]
mov dh, byte [ecx + 8]
mov word [esi + 0x82], dx
mov eax, dword [ebp + 0x48]
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x29aab58f
movzx edx, byte [eax + 0xe]
xor ecx, ecx
mov ch, byte [eax + 0xc]
mov cl, byte [eax + 0xd]
shl ecx, 8
or ecx, edx
movzx edx, byte [eax + 0xf]
shl ecx, 8
or ecx, edx
mov dword [esi + 0x20], ecx
movzx ecx, byte [eax + 5]
mov ch, byte [eax + 4]
movzx edx, byte [eax + 6]
movzx eax, byte [eax + 7]
shl ecx, 8
or ecx, edx
shl ecx, 8
or ecx, eax
mov dword [esi + 0x24], ecx
mov ecx, dword [ebp + 0x48]
mov ecx, dword [ecx + 8]
xor edx, edx
mov dh, byte [ecx + 0x24]
movsx eax, dx
movzx edx, byte [ecx + 0x25]
or eax, edx
imul eax, eax, 0x3e8
cdq
idiv ebx
mov dword [esi + 0x28], eax
movzx edx, byte [ecx + 0x27]
xor eax, eax
mov ah, byte [ecx + 0x26]
movsx eax, ax
or eax, edx
imul eax, eax, 0x3e8
cdq
idiv ebx
mov dword [esi + 0x2c], eax
movzx edx, byte [ecx + 0x29]
xor eax, eax
mov ah, byte [ecx + 0x28]
movsx eax, ax
or eax, edx
imul eax, eax, 0x3e8
cdq
idiv ebx
mov dword [esi + 0x30], eax
movzx edx, byte [ecx + 0x2b]
xor eax, eax
mov ah, byte [ecx + 0x2a]
movsx eax, ax
or eax, edx
imul eax, eax, 0x3e8
cdq
idiv ebx
mov dword [esi + 0x34], eax
movzx ax, byte [ecx + 0x2d]
mov ah, byte [ecx + 0x2c]
mov word [esi + 0x14], ax
mov ecx, dword [ebp + 0x48]
mov ecx, dword [ecx + 0x14]
test ecx, ecx
je 0x29aab661
xor edx, edx
mov dh, byte [ecx + 4]
movsx eax, dx
movzx edx, byte [ecx + 5]
or eax, edx
imul eax, eax, 0x3e8
cdq
idiv ebx
mov dword [esi + 0x38], eax
movzx edx, byte [ecx + 7]
xor eax, eax
mov ah, byte [ecx + 6]
movsx eax, ax
or eax, edx
imul eax, eax, 0x3e8
cdq
idiv ebx
mov dword [esi + 0x3c], eax
xor eax, eax
mov ah, byte [ecx + 8]
movzx ecx, byte [ecx + 9]
movsx eax, ax
or eax, ecx
imul eax, eax, 0x3e8
cdq
idiv ebx
mov dword [esi + 0x40], eax
mov edx, dword [ebp + 0x48]
mov ecx, dword [edx + 0x20]
test ecx, ecx
je 0x29aab69f
movzx edx, byte [ecx + 5]
xor eax, eax
mov ah, byte [ecx + 4]
movsx eax, ax
or eax, edx
imul eax, eax, 0x3e8
cdq
idiv ebx
mov dword [esi + 0x44], eax
xor eax, eax
mov ah, byte [ecx + 6]
movzx ecx, byte [ecx + 7]
movsx eax, ax
or eax, ecx
imul eax, eax, 0x3e8
cdq
idiv ebx
mov dword [esi + 0x48], eax
pop edi
pop ebp
pop ebx
ret