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

Disassembly:
sub esp, 0x414
mov eax, dword [0x7e4788]
xor eax, esp
mov dword [esp + 0x410], eax
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x428]
lea eax, [esp + 0x20]
push 0x400
push eax
push dword [edi + 0x70]
push dword [edi + 0x7c]
call fcn.004d7770
movzx eax, word [esp + 0x22e]
add esp, 0x10
cmp dword [edi + 0x70], 0
movzx ebp, word [esp + 0x21a]
movzx ebx, word [esp + 0x218]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], ebp
movzx ebp, word [esp + 0x21c]
mov dword [edi + 0x74], eax
jne 0x4de247
mov ecx, dword [esp + 0x34]
xor eax, eax
bswap ecx
mov edx, 0x200
mov esi, 0x400
cmp ecx, 0x52434842
je 0x4de21e
cmp ecx, 0x42484352
jne 0x4de232
movzx esi, word [esp + 0x30]
xor eax, eax
cmp byte [esp + 0x2f], 0x21
movzx edx, word [esp + 0x32]
sete al
push esi
push edx
push eax
push dword [edi + 0x7c]
call fcn.004dbdf0
add esp, 0x10
test eax, eax
jne 0x4de247
mov dword [edi + 0x74], eax
mov eax, dword [edi + 0x74]
test eax, eax
je 0x4de695
mov esi, dword [edi + 0x7c]
xor edx, edx
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x4de266
cmp eax, 0xffffffff
setne dl
jmp 0x4de274
movzx ecx, word [esi + 0x2e]
div ecx
mov ecx, dword [esi + 0x28]
neg edx
sbb edx, edx
inc edx
test edx, edx
je 0x4de695
test ecx, ecx
je 0x4de28a
movzx eax, word [esi + 0x30]
mov dword [esp + 0x14], eax
jmp 0x4de292
mov dword [esp + 0x14], 0
push dword [esi + 8]
call fcn.004554a0
mov ecx, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x10], eax
mov esi, edx
mov eax, dword [edi + 0x74]
xor edx, edx
call fcn.0052a2a0
cmp edx, esi
jg 0x4de695
jl 0x4de2c5
cmp eax, dword [esp + 0x10]
jae 0x4de695
mov ecx, dword [edi + 0x7c]
mov ax, word [esp + 0x2c]
cmp ax, word [ecx + 0x32]
ja 0x4de695
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
movzx eax, cx
movzx esi, dx
mov dword [esp + 0x10], eax
add eax, esi
cmp eax, 0x200
ja 0x4de695
mov eax, ebx
add esi, eax
mov dword [esp + 0x14], esi
cmp esi, 0x200
ja 0x4de695
mov ecx, dword [esp + 0x10]
mov esi, ebp
add ecx, esi
mov dword [esp + 0x10], ecx
cmp ecx, 0x200
mov ecx, dword [esp + 0x18]
ja 0x4de695
cmp bp, bx
jae 0x4de340
cmp dword [esp + 0x10], eax
jbe 0x4de354
cmp byte [esp + eax + 0x220], 0
je 0x4de354
jmp 0x4de695
cmp dword [esp + 0x14], esi
jbe 0x4de354
cmp byte [esp + eax + 0x220], 0
jne 0x4de695
test bp, bp
jne 0x4de36b
test cx, cx
je 0x4de375
test bx, bx
jne 0x4de36b
test dx, dx
je 0x4de36b
movzx ebx, cx
test cx, cx
jne 0x4de384
cmp bx, bp
jb 0x4de37a
movzx eax, bx
jmp 0x4de37f
mov eax, 0x200
sub eax, ebp
movzx ecx, ax
test dx, dx
jne 0x4de39b
cmp bx, bp
mov eax, 0x200
cmovbe eax, esi
sub eax, ebx
movzx ebp, ax
jmp 0x4de39f
mov ebp, dword [esp + 0x1c]
movzx esi, cx
lea eax, [esi + 1]
push eax
call fcn.0047f870
push esi
lea ecx, [esp + 0x228]
mov dword [edi + 4], eax
push ecx
push eax
call fcn.004e98c0
mov eax, dword [edi + 0x7c]
add esp, 0x10
mov cx, word [esp + 0x2c]
mov word [edi + 0x16], cx
movzx ecx, cx
movzx eax, word [eax + 0x2e]
add ecx, 8
sub eax, 0xc
mov dword [edi + 0x34], 0
cdq
idiv ecx
mov dword [edi + 0x3c], 0
mov word [edi + 0x78], ax
mov al, byte [esp + 0x2e]
movzx ecx, al
mov byte [edi + 0x1b], al
mov eax, ecx
and eax, 1
mov dword [edi + 0x20], eax
mov eax, ecx
shr eax, 1
and eax, 1
shr ecx, 2
mov dword [edi + 0x30], eax
and ecx, 1
xor eax, eax
mov dword [edi + 0x24], ecx
cmp word [esp + 0x216], ax
mov dword [edi + 0x2c], ecx
sete al
mov dword [edi + 0x28], ecx
mov dword [edi + 0x38], eax
mov dword [edi + 0x1c], eax
mov al, byte [esp + 0x2f]
cmp al, 1
je 0x4de43c
cmp al, 0x21
je 0x4de43c
xor eax, eax
jmp 0x4de449
xor eax, eax
cmp byte [esp + 0x213], 1
sete al
mov dword [edi + 0x40], eax
cmp byte [edi + 0x1b], 0
jl 0x4de69c
mov edx, dword [edi + 4]
cmp byte [edx], 0
je 0x4de695
mov eax, dword [edi + 0x7c]
push edx
mov eax, dword [eax + 0xc]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x140]
call eax
add esp, 8
cmp eax, 1
je 0x4de695
mov ecx, dword [edi + 0x7c]
push 0
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x18]
mov dword [edi + 0xc], eax
mov eax, dword [ecx + 0xc]
mov dword [eax + 0x18], 0
mov eax, dword [edi + 0x7c]
mov ecx, dword [eax + 0xc]
push ecx
mov eax, dword [ecx + 0xec]
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
push dword [edi + 0xc]
call fcn.00477550
push eax
call fcn.004c1c20
movzx ecx, al
add esp, 0x10
cmp ecx, 0x43
mov word [edi + 0x14], cx
setne al
dec al
and al, 0x20
mov byte [edi + 0x1a], al
cmp ecx, 0x43
jne 0x4de4ea
mov eax, dword [edi + 0x7c]
push dword [eax + 0xc]
call fcn.004d8660
add esp, 4
jmp 0x4de4f1
mov dword [edi + 0x40], 0
mov eax, dword [edi + 0x7c]
push dword [edi + 4]
push dword [eax + 0xc]
call fcn.004ac290
mov word [edi + 0x18], ax
add esp, 8
movzx eax, bx
lea ebx, [esp + 0x220]
add ebx, eax
cmp byte [ebx], 0
je 0x4de5d9
movzx esi, bp
lea eax, [esi + 1]
push eax
call fcn.0047f870
push esi
push ebx
push eax
mov dword [edi + 8], eax
call fcn.004e98c0
mov eax, dword [edi + 0x7c]
push dword [edi + 8]
mov eax, dword [eax + 0xc]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x140]
call eax
add esp, 0x18
cmp eax, 1
je 0x4de5d2
mov ecx, dword [edi + 0x7c]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x18]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0xc]
mov dword [eax + 0x18], 0
push dword [edi + 0x10]
call fcn.00477550
push eax
call fcn.004c1c20
add esp, 8
cmp al, 0x4c
je 0x4de5d9
mov eax, dword [edi + 0x7c]
mov ebx, dword [eax + 0xc]
call fcn.0047edc0
test ax, ax
jne 0x4de5d2
call fcn.00447ad0
mov esi, eax
push 0x21
push esi
call fcn.00447bf0
push 0x41d
push esi
call fcn.00447c90
push 0
push esi
call fcn.00447c50
push 0x21
call fcn.0044a550
push eax
push esi
call fcn.00447b90
mov eax, dword [ebx]
push esi
push ebx
mov eax, dword [eax + 0x144]
call eax
push esi
call fcn.00448320
add esp, 0x30
mov dword [edi + 0x74], 0
mov eax, dword [edi + 0x7c]
push dword [esp + 0x10]
mov eax, dword [eax + 0xc]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x10]
call eax
mov ebp, dword [edi + 0x7c]
add esp, 8
movzx eax, word [edi + 0x16]
cmp ax, word [ebp + 0x32]
ja 0x4de637
movzx ecx, word [edi + 0x14]
cmp ecx, 0x55
je 0x4de637
cmp ecx, 0x4e
jne 0x4de61c
cmp eax, 8
je 0x4de69c
cmp eax, 4
jne 0x4de637
jmp 0x4de69c
cmp ecx, 0x44
jne 0x4de628
cmp eax, 8
jne 0x4de637
jmp 0x4de69c
cmp ecx, 0x54
je 0x4de621
cmp ecx, 0x4c
jne 0x4de69c
cmp eax, 1
je 0x4de69c
mov ebp, dword [ebp + 0xc]
xor ebx, ebx
cmp word [edi + 0x14], 0x55
setne bl
add ebx, 0x21
call fcn.0047edc0
test ax, ax
jne 0x4de695
call fcn.00447ad0
mov esi, eax
push ebx
push esi
call fcn.00447bf0
push 0x402
push esi
call fcn.00447c90
push 0
push esi
call fcn.00447c50
push ebx
call fcn.0044a550
push eax
push esi
call fcn.00447b90
mov eax, dword [ebp]
push esi
push ebp
mov eax, dword [eax + 0x144]
call eax
push esi
call fcn.00448320
add esp, 0x30
mov dword [edi + 0x74], 0
mov ecx, dword [esp + 0x420]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00529c8c
add esp, 0x414
ret