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

Disassembly:
sub esp, 0xb0
mov eax, dword [0x4f11c0]
xor eax, esp
mov dword [esp + 0xac], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0xc0]
xor ebp, ebp
push edi
mov dword [esp + 0x10], ebp
mov edi, dword [esi]
mov ebx, dword [edi + 8]
mov dword [esp + 0x20], ebx
lea eax, [ebx - 0x8000]
mov dword [esi + 8], eax
add eax, eax
push eax
push ebp
push ebp
push dword [edi + 0x54]
call fcn.0040f3b0
mov dword [esi + 4], eax
add esp, 0x10
lea ecx, [eax - 0x10000]
mov dword [esp + 0x1c], ecx
mov ecx, 0x8000
mov word [eax], cx
xor eax, eax
mov ecx, edi
mov dword [edi + 0x7a], 0x11800000
mov word [edi + 0x78], ax
call fcn.00451d80
movzx edx, word [edi + 6]
mov dword [esp + 0x2c], edx
lea eax, [edx*2 - 2]
cmp eax, dword [edi + 0x120]
jbe 0x436e75
push eax
push edi
call fcn.00439620
mov edx, dword [esp + 0x34]
add esp, 8
mov eax, dword [edi + 0x1c]
lea esi, [edx + edx*2]
movzx ecx, byte [eax + esi*4 - 2]
lea eax, [edx - 2]
imul ecx, eax
mov eax, dword [edi + 0x18]
lea eax, [ecx + eax*2]
cmp eax, dword [edi + 0x12c]
jbe 0x436e9e
push eax
push edi
call fcn.00439680
add esp, 8
mov edx, dword [edi + 0x1c]
mov eax, dword [edi + 0x20]
mov dword [esp + 0x18], 0x8001
mov ecx, dword [edx + esi*4 - 0xc]
lea eax, [eax + ecx*4]
mov dword [esp + 0x28], eax
movzx eax, byte [edx + esi*4 - 2]
mov edx, dword [esp + 0x28]
mov dword [edx + eax*4], 0xff000000
mov ecx, dword [edi + 0x1c]
lea eax, [edx + eax*4]
mov dword [esp + 0x38], eax
lea esi, [ecx + 0xc]
mov dword [esp + 0x24], esi
cmp ebx, 0x8001
jbe 0x437147
mov ebx, 0x8001
nop dword [eax]
movzx eax, word [esi + 4]
cmp ebx, eax
jb 0x436f0e
push dword [esp + 0x1c]
push edx
push esi
push edi
call fcn.00436bc0
add esp, 0x10
add esi, 0xc
mov dword [esp + 0x24], esi
mov eax, dword [edi + 0x10]
movzx ebp, word [eax + ebx*8]
lea esi, [eax + ebx*8]
mov eax, dword [esp + 0x1c]
mov edx, ebp
cmp edx, 0x8000
jb 0x436f2a
movzx edx, word [eax + edx*2]
movzx ebx, word [esi + 2]
mov ecx, ebx
cmp ecx, 0x8000
jb 0x436f3c
movzx ecx, word [eax + ecx*2]
movzx eax, byte [esi + 5]
test byte [eax + 0x4d9fa0], 0x60
jne 0x436f62
cmp edx, ebp
jne 0x436f62
cmp ecx, ebx
jne 0x436f62
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov word [eax + ebx*2], bx
jmp 0x437128
mov al, byte [esi + 4]
mov ebx, 0xffbf
mov byte [esp + 0x17], al
mov ax, word [esi + 4]
and ax, bx
mov word [edi + 0x7a], cx
mov ecx, edi
mov word [edi + 0x7c], ax
mov word [edi + 0x78], dx
call fcn.0045b770
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx esi, ax
lea ecx, [ecx + ebx*2]
mov eax, esi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], eax
mov word [ecx], si
cmp eax, ebx
je 0x437128
mov ebp, dword [edi + 0x10]
lea ecx, [eax*8]
mov edx, dword [esp + 0x20]
add ecx, ebp
cmp eax, edx
jae 0x437095
cmp eax, 0x8000
jb 0x436ff7
mov dl, byte [ecx + 4]
test dl, 0x40
jne 0x436ff7
mov al, dl
and al, 0x1f
cmp al, 2
jbe 0x436ff7
mov eax, dword [esp + 0x10]
or dl, 0x40
mov byte [ecx + 4], dl
cmp eax, 0x40
jae 0x4371ab
mov word [esp + eax*2 + 0x3c], si
inc eax
mov dword [esp + 0x10], eax
mov bl, byte [ecx + 4]
mov al, byte [esp + 0x17]
mov cl, bl
xor cl, al
test cl, 0x1f
je 0x437124
movzx esi, al
and esi, 0x1f
movzx edx, bl
add esi, 0xfffffff1
and edx, 0x1f
cmp esi, 4
ja 0x43702b
lea ecx, [edx - 0xf]
cmp ecx, 4
jbe 0x437124
and al, 0x1f
cmp al, 0xe
jne 0x437045
lea eax, [edx - 0xf]
cmp eax, 4
ja 0x437045
mov eax, 0x1d3
mov ecx, 0x5b0e
jmp 0x437064
and bl, 0x1f
cmp bl, 0xe
jne 0x4371a3
cmp esi, 4
ja 0x4371a3
mov eax, 0x326e
mov ecx, 0x5b93
mov word [edi + 0x7c], cx
mov ecx, dword [esp + 0x30]
mov word [edi + 0x78], cx
mov ecx, edi
mov word [edi + 0x7a], ax
call fcn.0045b770
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
movzx ecx, ax
mov eax, dword [esp + 0x34]
mov word [eax], cx
mov eax, dword [edi + 0x10]
lea edx, [eax + ecx*8]
jmp 0x4370f3
cmp eax, 0xffff
je 0x437128
cmp eax, edx
jbe 0x437128
mov dl, byte [ecx + 5]
cmp dl, 0x5b
jne 0x4370c4
movzx eax, word [ecx]
mov esi, dword [esp + 0x20]
cmp eax, esi
jae 0x437128
lea eax, [ecx + 2]
cmp dl, dl
jne 0x4370e5
jmp 0x4370e7
cmp dl, 0x49
jne 0x437128
mov esi, dword [esp + 0x20]
lea edx, [ecx + 2]
movzx ecx, word [edx]
mov eax, ecx
cmp eax, esi
jae 0x437128
mov eax, 0x7fff
cmp cx, ax
je 0x437128
mov eax, edx
mov ecx, eax
movzx ecx, word [ecx]
lea edx, [ecx*8]
add edx, ebp
cmp ecx, esi
jae 0x437128
cmp ecx, 0x8000
jb 0x437128
mov al, byte [edx + 4]
mov ebp, dword [esp + 0x10]
test al, 0x40
jne 0x43712c
or al, 0x40
mov byte [edx + 4], al
cmp ebp, 0x40
jae 0x4371ab
mov word [esp + ebp*2 + 0x3c], cx
inc ebp
mov dword [esp + 0x10], ebp
jmp 0x43712c
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
inc ebx
mov dword [esp + 0x18], ebx
cmp ebx, dword [esp + 0x20]
jae 0x437144
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
jmp 0x436ef0
mov ecx, dword [edi + 0x1c]
cmp byte [edi + 0x76], 0
jl 0x437163
mov eax, 0xffff
add word [edi + 6], ax
movzx eax, word [edi + 6]
lea eax, [eax + eax*2]
mov eax, dword [ecx + eax*4]
mov dword [edi + 0x18], eax
movzx ecx, byte [ecx + 0xa]
mov eax, dword [edi + 0x20]
push dword [esp + 0x2c]
push ebp
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x40]
mov dword [ecx], eax
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x28]
push edi
call fcn.00436880
mov ecx, dword [esp + 0xd0]
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004698d9
add esp, 0xb0
ret
push 0x1a
push edi
call fcn.00414ce0
push 0x19
push edi
call fcn.00414ce0
int3