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

Disassembly:
sub esp, 0x4c
mov eax, dword [esp + 0x50]
xor cl, cl
push ebx
mov byte [esp + 7], cl
mov ebx, dword [eax + 0x10]
xor eax, eax
cmp dword [ebx], eax
cmove ebx, eax
mov dword [esp + 0x14], ebx
test ebx, ebx
je 0x4dfebc
mov edx, dword [ebx]
push ebp
push esi
push edi
cmp dword [edx], eax
cmove edx, eax
mov dword [esp + 0x24], edx
cmp dword [ebx + 0xc], 3
jne 0x4dfe89
mov edi, dword [esp + 0x68]
mov esi, 1
mov ecx, dword [ebx + 0x18]
shl esi, cl
push ebx
and esi, dword [edi]
mov dword [esp + 0x38], esi
mov dword [esp + 0x20], 0
call fcn.0040ac70
add esp, 4
test al, al
je 0x4de528
mov ecx, dword [ebx + 0x5c]
mov edx, 1
mov eax, dword [edi + 0x54]
shl edx, cl
mov ecx, dword [edi + 0x58]
and ecx, edx
neg ecx
sbb ecx, ecx
and ecx, 4
mov ebp, ecx
or ebp, 2
and eax, edx
cmove ebp, ecx
mov dword [esp + 0x1c], ebp
test dword [edi + 0x50], edx
je 0x4de528
or ebp, 1
mov dword [esp + 0x1c], ebp
cmp byte [edi + 0x17e], 0
mov ebp, dword [esp + 0x64]
je 0x4de6b6
xor al, al
mov dword [ebp], 2
mov dword [ebp + 4], ebx
cmp dword [ebx + 0x3c], 0
mov byte [esp + 0x60], al
jbe 0x4de6ad
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov edi, ecx
nop dword [eax + eax]
mov edx, dword [ebx + 0x38]
mov eax, dword [ecx + edx + 0x10]
sub eax, 0xd
je 0x4de57a
sub eax, 1
jne 0x4de690
lea eax, [ebx + 0x5c]
jmp 0x4de57d
lea eax, [ebx + 0x58]
mov esi, dword [eax]
mov dword [esp + 0x28], eax
test esi, esi
je 0x4de690
mov eax, dword [ecx + edx + 0xc]
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], 0
mov al, byte [eax + 0x11]
cmp al, 0x40
jne 0x4de5b2
or ecx, 0xffffffff
mov dword [esp + 0x60], 0x40
or edx, 0xffffffff
jmp 0x4de5d7
xor ecx, ecx
movzx eax, al
xor edx, edx
mov dword [esp + 0x60], eax
and eax, 0x3f
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
add ecx, 0xffffffff
adc edx, 0xffffffff
and esi, ecx
mov ecx, dword [esp + 0x2c]
and ecx, edx
mov eax, esi
or eax, ecx
je 0x4de642
push dword [esp + 0x60]
push ecx
push esi
call fcn.0040fcf0
push dword [esp + 0x6c]
mov dword [esp + 0x3c], eax
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x48], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x4de62a
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x30]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
add esp, 8
add esi, 0x18
mov eax, dword [esp + 0x18]
push esi
push eax
push 0x122
push ebp
call fcn.0041d850
add esp, 0x10
mov dword [esp + 0x18], eax
mov edx, dword [ebx + 0x38]
add edx, dword [esp + 0x14]
mov ecx, dword [edx + 4]
lea esi, [edx + 4]
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov dword [ecx], eax
mov eax, dword [esp + 0x18]
lea ecx, [eax + 4]
mov dword [edx + 0xc], eax
mov dword [esi], 0
mov dword [esi + 4], ecx
mov eax, dword [ecx]
mov dword [esi], eax
mov eax, dword [ecx]
mov dword [eax + 4], esi
mov eax, dword [esp + 0x28]
mov dword [ecx], esi
mov ecx, dword [esp + 0x14]
mov dword [eax], 0
mov al, 1
mov byte [esp + 0x60], al
jmp 0x4de694
mov al, byte [esp + 0x60]
inc edi
add ecx, 0x14
mov dword [esp + 0x14], ecx
cmp edi, dword [ebx + 0x3c]
jb 0x4de560
mov edi, dword [esp + 0x68]
mov esi, dword [esp + 0x34]
or al, byte [esp + 0x13]
setne byte [esp + 0x13]
test esi, esi
jne 0x4de6cc
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4de6cc
cmp byte [edi + 4], al
je 0x4de6e3
cmp byte [ebx + 0x44], al
je 0x4de6e3
push ebx
push ebp
call fcn.004e01e0
add esp, 8
or al, byte [esp + 0x13]
mov eax, dword [esp + 0x1c]
setne byte [esp + 0x13]
cmp dword [ebx + 0x20], 4
jne 0x4de6ef
cmp byte [edi + 5], 0
jne 0x4de738
test eax, eax
je 0x4de715
mov edx, dword [ebx + 0x3c]
xor ecx, ecx
test edx, edx
je 0x4de715
mov eax, dword [ebx + 0x38]
add eax, 0x10
cmp dword [eax], 0
je 0x4de711
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x4de702
jmp 0x4de715
test ecx, ecx
jns 0x4de738
cmp dword [ebx + 0x18], 4
jne 0x4de721
cmp byte [edi + 6], 0
jne 0x4de738
mov eax, dword [edi + 8]
test eax, eax
je 0x4de755
push dword [edi + 0x180]
push ebx
call eax
add esp, 8
test al, al
je 0x4de755
push ebx
push ebp
call fcn.004dd370
add esp, 8
test al, al
jne 0x4de750
cmp byte [esp + 0x13], al
mov byte [esp + 0x13], al
je 0x4de755
mov byte [esp + 0x13], 1
cmp dword [ebx + 0x18], 4
jne 0x4de920
cmp byte [edi + 0xc], 0
je 0x4de920
cmp dword [ebx + 0x20], 4
je 0x4de920
push ebx
call fcn.0040ac30
add esp, 4
test al, al
je 0x4de78c
mov dword [ebx + 0x18], 1
jmp 0x4de91b
mov eax, dword [esp + 0x6c]
cmp byte [eax + 0x74], 0
je 0x4de871
mov dword [ebp], 2
mov dword [ebp + 4], ebx
mov eax, dword [ebx + 0x58]
cdq
push 0x20
push edx
push eax
call fcn.0040fcf0
push 0x20
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x78], eax
mov dword [esp + 0x4c], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4de7d4
mov dword [esp + 0x60], eax
jmp 0x4de7f3
mov eax, dword [esp + 0x60]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x34]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
lea eax, [esi + 0x18]
add esp, 8
mov dword [esp + 0x60], eax
push 0x1eb
push dword [ebp + 0x10]
call fcn.00409a10
mov esi, eax
push 0x20
push 2
lea eax, [esi + 0x1c]
push eax
push esi
mov dword [esp + 0x4c], eax
call fcn.00407ec0
mov eax, dword [esp + 0x78]
xorps xmm0, xmm0
movups xmmword [esp + 0x64], xmm0
mov dword [esp + 0x70], eax
movups xmm0, xmmword [esp + 0x64]
push esi
push ebp
movups xmmword [esi + 0x58], xmm0
call fcn.0041dbe0
mov edx, dword [ebx + 0x3c]
add esp, 0x20
xor ecx, ecx
test edx, edx
je 0x4de91b
mov eax, dword [ebx + 0x38]
add eax, 0x10
nop word [eax + eax]
cmp dword [eax], 0
je 0x4de862
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x4de850
jmp 0x4de91b
cmp ecx, 0xffffffff
je 0x4de91b
push dword [esp + 0x34]
jmp 0x4de8c8
push ebx
push ebp
mov dword [ebx + 0x18], 1
call fcn.004edf40
push eax
push 0x116
push ebp
call fcn.0041d800
push eax
push 0xfe
push ebp
call fcn.0041d800
mov edx, dword [ebx + 0x3c]
add esp, 0x20
xor ecx, ecx
mov dword [esp + 0x60], eax
test edx, edx
je 0x4de91b
mov eax, dword [ebx + 0x38]
add eax, 0x10
nop dword [eax]
cmp dword [eax], 0
je 0x4de8bf
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x4de8b0
jmp 0x4de91b
cmp ecx, 0xffffffff
je 0x4de91b
push dword [esp + 0x60]
mov eax, dword [ebx + 0x38]
lea esi, [ecx + ecx*4]
shl esi, 2
push dword [esi + eax + 0xc]
push 0xed
push ebp
call fcn.0041d850
mov edx, dword [ebx + 0x38]
add esp, 0x10
add edx, esi
mov edi, eax
mov ecx, dword [edx + 4]
lea esi, [edx + 4]
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov dword [ecx], eax
lea ecx, [edi + 4]
mov dword [esi], 0
mov dword [edx + 0xc], edi
mov edi, dword [esp + 0x68]
mov dword [esi + 4], ecx
mov eax, dword [ecx]
mov dword [esi], eax
mov eax, dword [ecx]
mov dword [eax + 4], esi
mov dword [ecx], esi
mov byte [esp + 0x13], 1
cmp dword [ebx + 0x18], 0
jne 0x4de947
cmp byte [edi + 0xd], 0
jne 0x4de938
cmp byte [ebx + 0x45], 0
je 0x4de947
cmp byte [edi + 0xe], 0
je 0x4de947
push ebx
push ebp
call fcn.004dcac0
add esp, 8
mov byte [esp + 0x13], 1
mov ecx, dword [ebx + 0x58]
mov edx, 1
mov esi, dword [ebx + 0x3c]
xor eax, eax
shl edx, cl
mov dword [esp + 0x60], ecx
mov dword [esp + 0x14], edx
test esi, esi
je 0x4dea08
mov ecx, dword [ebx + 0x38]
add ecx, 0x10
nop dword [eax]
cmp dword [ecx], 0xb
je 0x4de982
inc eax
add ecx, 0x14
cmp eax, esi
jb 0x4de970
jmp 0x4dea08
test eax, eax
js 0x4dea08
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x38]
movups xmm0, xmmword [eax + ecx*4]
xor ecx, ecx
psrldq xmm0, 0xc
movd eax, xmm0
mov eax, dword [eax]
cmp dword [eax + 0xc], 1
cmove ecx, eax
cmp dword [ecx + 0x18], 0
je 0x4de9de
nop
mov eax, dword [ecx + 0x18]
cmp eax, 5
je 0x4de9fa
test eax, eax
jne 0x4de9c0
xor ecx, ecx
jmp 0x4de9d8
movups xmm0, xmmword [ecx + 0x24]
xor ecx, ecx
psrldq xmm0, 0xc
movd eax, xmm0
mov eax, dword [eax]
cmp dword [eax + 0xc], 1
cmove ecx, eax
cmp dword [ecx + 0x18], 0
jne 0x4de9b0
mov ecx, dword [ecx + 0x24]
test ecx, ecx
je 0x4de9fa
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x60], ecx
cmp ecx, 0x20
jae 0x4dea02
mov edx, 1
shl edx, cl
jmp 0x4dea04
mov dword [esp + 0x60], 0
xor edx, edx
mov dword [esp + 0x14], edx
test dword [edi + 0x10], edx
je 0x4deb10
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e04b0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e04b0
movsd xmm0, qword [0x512f10]
add esp, 0x20
mov edi, eax
mov dword [esp + 0x2c], edi
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d00
push 0x20
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4dea76
mov dword [esp + 0x28], eax
jmp 0x4dea95
mov eax, dword [esp + 0x34]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x30]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
lea eax, [esi + 0x18]
add esp, 8
mov dword [esp + 0x28], eax
push 1
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 1
push eax
push edi
push ebp
call fcn.004120d0
mov edi, eax
mov dword [esp + 0x44], 0
push 1
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x44]
push ebp
call fcn.004120d0
mov esi, eax
mov dword [esp + 0x54], 0
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x40]
push ebp
call fcn.004120d0
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc720
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
lea esi, [ebp + 0x10]
test dword [edi + 0x14], edx
je 0x4dec1a
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e04b0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e04b0
movsd xmm0, qword [0x512f10]
add esp, 0x20
mov edi, eax
mov dword [esp + 0x2c], edi
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d00
push 0x20
push 1
push dword [esi]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4deb80
mov dword [esp + 0x28], eax
jmp 0x4deb9f
mov eax, dword [esp + 0x34]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x30]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
lea eax, [esi + 0x18]
add esp, 8
mov dword [esp + 0x28], eax
push 1
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 0
push eax
push edi
push ebp
call fcn.004120d0
mov edi, eax
mov dword [esp + 0x44], 1
push 1
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x44]
push ebp
call fcn.004120d0
mov esi, eax
mov dword [esp + 0x54], 0
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x40]
push ebp
call fcn.004120d0
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc720
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test dword [edi + 0x18], edx
je 0x4ded2b
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e04b0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e04b0
push edi
push 2
push ebx
push ebp
mov dword [esp + 0x5c], eax
call fcn.004e04b0
movsd xmm0, qword [0x512f10]
add esp, 0x30
mov dword [esp + 0x30], eax
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d00
push 0x20
push 1
push dword [ebp + 0x10]
mov edi, eax
mov dword [esp + 0x4c], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4dec92
mov dword [esp + 0x28], eax
jmp 0x4decad
mov eax, dword [esp + 0x34]
push esi
mov dword [esi + 0x30], edi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
lea eax, [esi + 0x18]
add esp, 8
mov dword [esp + 0x28], eax
push 1
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 0
push eax
push dword [esp + 0x38]
push ebp
call fcn.004120d0
mov edi, eax
mov dword [esp + 0x44], 0
push 1
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x44]
push ebp
call fcn.004120d0
mov esi, eax
mov dword [esp + 0x54], 0
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x40]
push ebp
call fcn.004120d0
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc720
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
lea esi, [ebp + 0x10]
test dword [edi + 0x1c], edx
je 0x4dee35
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e04b0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e04b0
movsd xmm0, qword [0x512f10]
add esp, 0x20
mov edi, eax
mov dword [esp + 0x2c], edi
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d00
push 0x20
push 1
push dword [esi]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4ded9b
mov dword [esp + 0x28], eax
jmp 0x4dedba
mov eax, dword [esp + 0x34]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x30]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
lea eax, [esi + 0x18]
add esp, 8
mov dword [esp + 0x28], eax
push 1
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 3
push eax
push edi
push ebp
call fcn.004120d0
mov edi, eax
mov dword [esp + 0x44], 1
push 1
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x44]
push ebp
call fcn.004120d0
mov esi, eax
mov dword [esp + 0x54], 0
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x40]
push ebp
call fcn.004120d0
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc720
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test dword [edi + 0x20], edx
je 0x4def3d
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e04b0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e04b0
movsd xmm0, qword [0x512f10]
add esp, 0x20
mov edi, eax
mov dword [esp + 0x2c], edi
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d00
push 0x20
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4deea3
mov dword [esp + 0x28], eax
jmp 0x4deec2
mov eax, dword [esp + 0x34]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x30]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
lea eax, [esi + 0x18]
add esp, 8
mov dword [esp + 0x28], eax
push 1
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 1
push eax
push edi
push ebp
call fcn.004120d0
mov edi, eax
mov dword [esp + 0x44], 3
push 1
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x44]
push ebp
call fcn.004120d0
mov esi, eax
mov dword [esp + 0x54], 0
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x40]
push ebp
call fcn.004120d0
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc720
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
lea esi, [ebp + 0x10]
mov dword [esp + 0x18], esi
test dword [edi + 0x24], edx
je 0x4df04e
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e04b0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x4c], eax
call fcn.004e04b0
movsd xmm0, qword [0x512f10]
add esp, 0x20
mov dword [esp + 0x30], eax
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d00
push 0x20
push 1
push dword [esi]
mov edi, eax
mov dword [esp + 0x4c], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4defad
mov dword [esp + 0x28], eax
jmp 0x4defc8
mov eax, dword [esp + 0x34]
push esi
mov dword [esi + 0x30], edi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
lea eax, [esi + 0x18]
add esp, 8
mov dword [esp + 0x28], eax
mov esi, dword [esp + 0x30]
lea eax, [esp + 0x34]
push 1
push eax
push esi
push ebp
mov dword [esp + 0x44], 2
call fcn.004120d0
mov edi, eax
mov dword [esp + 0x44], 0
push 1
lea eax, [esp + 0x48]
push eax
push esi
push ebp
call fcn.004120d0
mov esi, eax
mov dword [esp + 0x54], 1
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x54]
push ebp
call fcn.004120d0
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc720
mov edi, dword [esp + 0xb8]
lea eax, [ebp + 0x10]
mov edx, dword [esp + 0x64]
lea esi, [ebp + 0x10]
add esp, 0x50
mov byte [esp + 0x13], 1
mov dword [esp + 0x18], eax
test dword [edi + 0x28], edx
je 0x4df155
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e04b0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x58], eax
call fcn.004e04b0
movsd xmm0, qword [0x512f10]
add esp, 0x20
mov edi, eax
mov dword [esp + 0x2c], edi
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d00
push 0x20
push 1
push dword [esi]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4df0bb
mov dword [esp + 0x28], eax
jmp 0x4df0da
mov eax, dword [esp + 0x34]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x30]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
lea eax, [esi + 0x18]
add esp, 8
mov dword [esp + 0x28], eax
push 1
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 0
push eax
push edi
push ebp
call fcn.004120d0
mov edi, eax
mov dword [esp + 0x44], 2
push 1
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x44]
push ebp
call fcn.004120d0
mov esi, eax
mov dword [esp + 0x54], 1
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x60]
push ebp
call fcn.004120d0
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc720
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test dword [edi + 0x2c], edx
je 0x4df210
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e04b0
mov esi, dword [esp + 0x74]
mov ebp, eax
push 1
lea eax, [esp + 0x4c]
mov dword [esp + 0x4c], 3
push eax
push ebp
push esi
call fcn.004120d0
mov ebx, eax
mov dword [esp + 0x58], 0
push 1
lea eax, [esp + 0x5c]
push eax
push ebp
push esi
call fcn.004120d0
mov edi, eax
mov dword [esp + 0x68], 1
push 1
lea eax, [esp + 0x6c]
push eax
push ebp
push esi
call fcn.004120d0
add esp, 0x40
mov dword [esp + 0x38], 2
mov esi, eax
lea eax, [esp + 0x38]
push 1
push eax
push ebp
mov ebp, dword [esp + 0x70]
push ebp
call fcn.004120d0
push dword [esp + 0x70]
push dword [esp + 0x7c]
push ebx
mov ebx, dword [esp + 0x3c]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc720
mov edi, dword [esp + 0x98]
lea esi, [ebp + 0x10]
mov edx, dword [esp + 0x44]
add esp, 0x30
mov byte [esp + 0x13], 1
mov dword [esp + 0x18], esi
jmp 0x4df214
mov esi, dword [esp + 0x18]
test dword [edi + 0x30], edx
je 0x4df30d
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e04b0
movsd xmm0, qword [0x512f10]
add esp, 0x10
mov edi, eax
mov dword [esp + 0x28], edi
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d00
push 0x20
push 1
push dword [esi]
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4df273
mov dword [esp + 0x2c], eax
jmp 0x4df292
mov eax, dword [esp + 0x38]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x34]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
lea eax, [esi + 0x18]
add esp, 8
mov dword [esp + 0x2c], eax
push 1
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], 0
push eax
push edi
push ebp
call fcn.004120d0
mov edi, eax
mov dword [esp + 0x48], 1
push 1
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x40]
push ebp
call fcn.004120d0
mov esi, eax
mov dword [esp + 0x58], 2
push 1
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x50]
push ebp
call fcn.004120d0
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x64]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc720
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test dword [edi + 0x34], edx
je 0x4df40f
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e04b0
movsd xmm0, qword [0x512f10]
add esp, 0x10
mov edi, eax
mov dword [esp + 0x2c], edi
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d00
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x24]
push 0x20
push 1
mov dword [esp + 0x48], edx
push dword [eax]
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4df370
mov dword [esp + 0x28], eax
jmp 0x4df38f
mov eax, dword [esp + 0x38]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x34]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
lea eax, [esi + 0x18]
add esp, 8
mov dword [esp + 0x28], eax
push 1
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], 2
push eax
push edi
push ebp
call fcn.004120d0
mov edi, eax
mov dword [esp + 0x48], 1
push 1
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x44]
push ebp
call fcn.004120d0
mov esi, eax
mov dword [esp + 0x58], 0
push 1
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x54]
push ebp
call fcn.004120d0
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc720
mov edi, dword [esp + 0xb8]
lea esi, [ebp + 0x10]
add esp, 0x50
mov byte [esp + 0x13], 1
mov dword [esp + 0x18], esi
jmp 0x4df413
mov esi, dword [esp + 0x18]
mov ecx, dword [ebx + 0x58]
mov eax, 1
shl eax, cl
test dword [edi + 0x38], eax
je 0x4df512
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e04b0
movsd xmm0, qword [0x512f10]
add esp, 0x10
mov edi, eax
mov dword [esp + 0x2c], edi
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d00
push 0x20
push 1
push dword [esi]
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4df47c
mov dword [esp + 0x28], eax
jmp 0x4df49b
mov eax, dword [esp + 0x38]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x34]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
lea eax, [esi + 0x18]
add esp, 8
mov dword [esp + 0x28], eax
push 1
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], 0
push eax
push edi
push ebp
call fcn.004120d0
mov edi, eax
mov dword [esp + 0x48], 2
push 1
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x44]
push ebp
call fcn.004120d0
mov esi, eax
mov dword [esp + 0x58], 1
push 1
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x54]
push ebp
call fcn.004120d0
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc720
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov byte [esp + 0x13], 1
mov ecx, dword [ebx + 0x58]
mov eax, 1
shl eax, cl
test dword [edi + 0x3c], eax
je 0x4df615
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e04b0
movsd xmm0, qword [0x512f10]
add esp, 0x10
mov edi, eax
mov dword [esp + 0x2c], edi
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d00
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x24]
push 0x20
push 1
mov dword [esp + 0x48], edx
push dword [eax]
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4df57f
mov dword [esp + 0x28], eax
jmp 0x4df59e
mov eax, dword [esp + 0x38]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x34]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
lea eax, [esi + 0x18]
add esp, 8
mov dword [esp + 0x28], eax
push 1
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], 0
push eax
push edi
push ebp
call fcn.004120d0
mov edi, eax
mov dword [esp + 0x48], 1
push 1
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x44]
push ebp
call fcn.004120d0
mov esi, eax
mov dword [esp + 0x58], 2
push 1
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x54]
push ebp
call fcn.004120d0
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc720
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov byte [esp + 0x13], 1
mov ecx, dword [ebx + 0x58]
mov eax, 1
shl eax, cl
test dword [edi + 0x40], eax
je 0x4df6cd
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e04b0
mov esi, dword [esp + 0x74]
mov ebp, eax
push 1
lea eax, [esp + 0x4c]
mov dword [esp + 0x4c], 3
push eax
push ebp
push esi
call fcn.004120d0
mov ebx, eax
mov dword [esp + 0x58], 2
push 1
lea eax, [esp + 0x5c]
push eax
push ebp
push esi
call fcn.004120d0
mov edi, eax
mov dword [esp + 0x68], 0
push 1
lea eax, [esp + 0x6c]
push eax
push ebp
push esi
call fcn.004120d0
add esp, 0x40
mov dword [esp + 0x38], 1
mov esi, eax
lea eax, [esp + 0x38]
push 1
push eax
push ebp
mov ebp, dword [esp + 0x70]
push ebp
call fcn.004120d0
push dword [esp + 0x70]
push dword [esp + 0x7c]
push ebx
mov ebx, dword [esp + 0x3c]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc720
mov edi, dword [esp + 0x98]
add esp, 0x30
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4df6eb
push eax
push ebx
push ebp
call fcn.004e0670
mov ebx, eax
mov byte [esp + 0x1f], 1
add esp, 0xc
mov dword [esp + 0x20], ebx
cmp dword [ebx + 0x20], 0xa
jne 0x4df746
cmp byte [edi + 0x171], 0
je 0x4df746
push 4
lea eax, [esp + 0x40]
mov dword [ebp], 3
push eax
lea esi, [ebx + 0x24]
mov dword [ebp + 4], ebx
push esi
push ebp
mov dword [esp + 0x4c], 2
mov dword [esp + 0x50], 3
mov dword [esp + 0x54], 1
mov dword [esp + 0x58], 0
call fcn.004120d0
push dword [eax]
push eax
push esi
call fcn.00407f80
add esp, 0x1c
mov byte [esp + 0x13], 1
mov esi, dword [esp + 0x14]
test dword [edi + 0x5c], esi
je 0x4df77f
push ebx
call fcn.0040ac30
add esp, 4
test al, al
jne 0x4df77f
cmp byte [ebx + 0x45], al
je 0x4df766
cmp byte [ebx + 0x46], al
jne 0x4df77f
mov eax, dword [ebx + 0x58]
add eax, 0x18
lea eax, [edi + eax*4]
push eax
push ebx
push ebp
call fcn.004e08d0
add esp, 0xc
mov byte [esp + 0x13], 1
test dword [edi + 0x160], esi
je 0x4df878
push ebx
call fcn.0040ac30
add esp, 4
test al, al
jne 0x4df878
cmp byte [ebx + 0x45], al
jne 0x4df878
mov dword [ebp + 4], ebx
add ebx, 0x24
mov dword [ebp], 3
mov dword [esp + 0x38], ebx
cmp byte [ebx + 0x10], 3
jne 0x4df7c0
mov eax, ebx
jmp 0x4df7cc
push 7
push ebx
push ebp
call fcn.0040fb50
add esp, 0xc
push eax
push ebp
call fcn.004ee7c0
mov esi, dword [esp + 0x6c]
mov ebp, eax
push 1
lea eax, [esp + 0x6c]
mov dword [esp + 0x6c], 3
push eax
push ebx
push esi
call fcn.004120d0
mov ebx, eax
mov dword [esp + 0x78], 2
push 1
lea eax, [esp + 0x7c]
push eax
push ebp
push esi
call fcn.004120d0
mov edi, eax
mov dword [esp + 0x88], 1
push 1
lea eax, [esp + 0x8c]
push eax
push ebp
push esi
call fcn.004120d0
mov esi, eax
mov dword [esp + 0x98], 0
push 1
lea eax, [esp + 0x9c]
push eax
push ebp
mov ebp, dword [esp + 0xa8]
push ebp
call fcn.004120d0
add esp, 0x48
push ebx
push edi
push esi
push eax
push 0x1cc
push ebp
call fcn.0041d940
push dword [eax]
push eax
push dword [esp + 0x58]
call fcn.00407f80
mov ebx, dword [esp + 0x44]
add esp, 0x24
mov edi, dword [esp + 0x68]
mov byte [esp + 0x13], 1
mov esi, dword [ebx + 0x3c]
xor eax, eax
test esi, esi
je 0x4df898
mov ecx, dword [ebx + 0x38]
add ecx, 0x10
cmp dword [ecx], 6
je 0x4df9cf
inc eax
add ecx, 0x14
cmp eax, esi
jb 0x4df887
or eax, 0xffffffff
xor ecx, ecx
shr eax, 0x1f
xor al, 1
mov dword [esp + 0x60], eax
test esi, esi
je 0x4df8bd
mov edx, dword [ebx + 0x38]
add edx, 0x10
cmp dword [edx], 3
je 0x4df8c0
inc ecx
add edx, 0x14
cmp ecx, esi
jb 0x4df8b0
or ecx, 0xffffffff
shr ecx, 0x1f
xor cl, 1
cmp dword [ebx + 0x20], 1
mov dword [esp + 0x38], ecx
jne 0x4df904
cmp byte [ebx + 0x45], 0
je 0x4df904
test al, al
je 0x4df904
cmp byte [edi + 0x16a], 0
je 0x4df904
push ebx
push ebp
mov dword [ebp], 2
mov dword [ebp + 4], ebx
call fcn.004edef0
push eax
push ebx
push ebp
call fcn.004dd300
add esp, 0x14
mov byte [esp + 0x13], 1
cmp dword [edi + 0x174], 0
je 0x4df933
mov eax, dword [ebx + 0x20]
cmp eax, 8
je 0x4df933
cmp eax, 0xb
je 0x4df933
cmp eax, 0xc
je 0x4df933
push edi
push ebx
push ebp
call fcn.004dd5c0
add esp, 0xc
or al, byte [esp + 0x13]
setne byte [esp + 0x13]
cmp dword [ebx + 0x20], 3
jne 0x4dfaa0
cmp byte [edi + 0x168], 0
jne 0x4dfa8b
cmp byte [edi + 0x169], 0
mov eax, dword [esp + 0x60]
je 0x4df95f
test al, al
jne 0x4dfa8b
cmp byte [edi + 0x167], 0
je 0x4df972
cmp byte [ebx + 0x45], 0
jne 0x4dfa8b
cmp byte [edi + 0x16b], 0
je 0x4df989
cmp byte [ebx + 0x45], 0
je 0x4df989
test al, al
jne 0x4dfa8b
cmp byte [edi + 0x16c], 0
je 0x4df9a1
cmp byte [esp + 0x38], 0
je 0x4df9a1
test al, al
jne 0x4dfa8b
cmp byte [edi + 0x16d], 0
je 0x4df9e8
test al, al
je 0x4df9e8
mov esi, dword [ebx + 0x3c]
xor edx, edx
test esi, esi
je 0x4df9e8
mov ecx, dword [ebx + 0x38]
add ecx, 0x10
nop dword [eax]
cmp dword [ecx], 0x10
je 0x4df9df
inc edx
add ecx, 0x14
cmp edx, esi
jb 0x4df9c0
jmp 0x4df9e8
shr eax, 0x1f
xor al, 1
xor ecx, ecx
mov dword [esp + 0x60], eax
jmp 0x4df8aa
cmp edx, 0xffffffff
jne 0x4dfa8b
cmp byte [edi + 0x16e], 0
je 0x4dfa5e
test al, al
je 0x4dfa5e
mov edx, dword [ebx + 0x3c]
xor eax, eax
mov esi, dword [ebx + 0x5c]
test edx, edx
je 0x4dfa59
mov ecx, dword [ebx + 0x38]
add ecx, 0x10
cmp dword [ecx], 0xe
je 0x4dfa16
inc eax
add ecx, 0x14
cmp eax, edx
jb 0x4dfa07
jmp 0x4dfa59
test eax, eax
js 0x4dfa59
mov edx, dword [ebx + 0x38]
lea ecx, [eax + eax*4]
movups xmm0, xmmword [edx + ecx*4]
psrldq xmm0, 0xc
movd eax, xmm0
mov eax, dword [eax]
cmp dword [eax + 0xc], 5
jne 0x4dfa8b
movups xmm0, xmmword [edx + ecx*4]
psrldq xmm0, 0xc
movd eax, xmm0
mov ecx, dword [eax]
movzx eax, byte [ecx + 0x29]
push eax
push dword [ecx + 0x34]
push dword [ecx + 0x30]
call fcn.00407cd0
add esp, 0xc
add esi, eax
cmp esi, 0x10
jae 0x4dfa8b
cmp byte [edi + 0x164], 0
je 0x4dfa6d
cmp dword [ebx + 0x18], 3
je 0x4dfa8b
cmp byte [edi + 0x165], 0
je 0x4dfa7c
cmp dword [ebx + 0x18], 2
je 0x4dfa8b
cmp byte [edi + 0x166], 0
je 0x4dfaa0
cmp byte [ebx + 0x44], 0
je 0x4dfaa0
push ebx
push ebp
call fcn.004dccd0
mov cl, 1
add esp, 8
mov byte [esp + 0x13], cl
jmp 0x4dfe89
mov edx, dword [ebx + 0x3c]
xor ecx, ecx
test edx, edx
je 0x4dfac4
mov eax, dword [ebx + 0x38]
add eax, 0x10
nop
cmp dword [eax], 5
je 0x4dfabf
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x4dfab0
jmp 0x4dfac4
cmp ecx, 0xffffffff
jne 0x4dfaeb
mov eax, dword [ebx + 0x20]
cmp eax, 4
je 0x4dfe2a
cmp eax, 8
je 0x4dfe2a
cmp eax, 2
je 0x4dfe2a
cmp eax, 0xb
je 0x4dfe2a
cmp byte [edi + 0x17d], 0
je 0x4dfbc9
push ebx
call fcn.0040abe0
add esp, 4
test al, al
je 0x4dfbc9
cmp dword [ebx + 0x18], 4
je 0x4dfbc9
push dword [ebp + 0x10]
call fcn.0040a1b0
add esp, 4
test al, al
jne 0x4dfbc9
push 0x20
push 0
push 0
mov dword [ebp], 2
mov dword [ebp + 4], ebx
call fcn.0040fcf0
mov ecx, dword [ebp + 0x10]
add esp, 0xc
cmp dword [ebx + 0x20], 9
mov dword [esp + 0x60], eax
mov dword [esp + 0x2c], edx
push 0x20
push 1
push ecx
jne 0x4dfb90
call fcn.00409bc0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4dfb7d
mov eax, dword [esp + 0x60]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x2c]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
add esp, 8
lea eax, [esi + 0x18]
push eax
lea esi, [ebx + 0x24]
push esi
call fcn.00407f10
push dword [esi]
call fcn.00409630
jmp 0x4dfbc1
call fcn.00409bc0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4dfbb9
mov eax, dword [esp + 0x60]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x2c]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
add esp, 8
add esi, 0x18
push esi
push ebx
push ebp
call fcn.004dd300
add esp, 0xc
mov byte [esp + 0x13], 1
cmp byte [edi + 0x16f], 0
je 0x4dfbf2
cmp dword [ebx + 0x20], 8
jne 0x4dfbf2
push ebx
push ebp
call fcn.004dfed0
add esp, 8
or al, byte [esp + 0x13]
setne cl
mov byte [esp + 0x13], cl
jmp 0x4dfe89
cmp byte [edi + 0x170], 0
je 0x4dfcf5
cmp dword [ebx + 0x20], 8
jne 0x4dfcf5
cmp dword [ebx + 0x18], 3
jne 0x4dfcf5
cmp byte [ebx + 0x44], 0
je 0x4dfcf5
push 0x20
mov dword [ebx + 0x18], 1
push 0
mov dword [ebp + 4], ebx
add ebx, 0x24
push 6
mov dword [ebp], 3
call fcn.0040fcf0
push 0x20
push 1
push dword [ebp + 0x10]
mov edi, eax
mov dword [esp + 0x78], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x4dfc6e
mov eax, dword [esp + 0x60]
push esi
mov dword [esi + 0x30], edi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
add esp, 8
add esi, 0x18
push 1
lea eax, [esp + 0x64]
mov dword [esp + 0x64], 2
push eax
push ebx
push ebp
call fcn.004120d0
push esi
push eax
push 0x128
push ebp
call fcn.0041d850
mov edi, eax
mov dword [esp + 0x80], 1
push 1
lea eax, [esp + 0x84]
push eax
push ebx
push ebp
call fcn.004120d0
mov esi, eax
mov dword [esp + 0x90], 1
push 1
lea eax, [esp + 0x94]
push eax
push ebx
push ebp
call fcn.004120d0
add esp, 0x40
push edi
push esi
push eax
push 0x1cb
push ebp
call fcn.0041d8c0
push dword [eax]
push eax
push ebx
call fcn.00407f80
mov cl, 1
add esp, 0x20
mov byte [esp + 0x13], cl
jmp 0x4dfe89
cmp dword [ebx + 0x20], 0xa
jne 0x4dfd2b
push ebx
call fcn.0040abb0
add esp, 4
test al, al
je 0x4dfd2b
cmp byte [edi + 0x172], 0
je 0x4dfd2b
push ebx
push ebp
call fcn.004dd940
add esp, 8
or al, byte [esp + 0x13]
setne cl
mov byte [esp + 0x13], cl
jmp 0x4dfe89
cmp byte [edi + 0x173], 0
je 0x4dfe09
mov eax, dword [ebx + 0x20]
cmp eax, 5
jne 0x4dfd55
push ebx
push ebp
call fcn.004ddfe0
mov cl, 1
add esp, 8
mov byte [esp + 0x13], cl
jmp 0x4dfe89
cmp eax, 0xd
jne 0x4dfe09
push ebx
push dword [ebp + 0x10]
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.0045a890
mov esi, eax
push 0x20
push 1
lea edi, [esi + 0x24]
mov dword [esi + 0x20], 0x10
push edi
push esi
mov dword [esi + 0x1c], 0x24
call fcn.00407ec0
push esi
push ebp
call fcn.0041dbe0
movzx esi, byte [edi + 0x11]
push esi
push 0
push 0
call fcn.0040fcf0
push esi
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x98], eax
mov dword [esp + 0x70], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x38
test esi, esi
je 0x4dfdde
mov eax, dword [esp + 0x60]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x38]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
add esp, 8
add esi, 0x18
push esi
push edi
push 0x129
push ebp
call fcn.0041d850
push eax
lea eax, [ebx + 0x24]
push eax
call fcn.00407f10
push ebx
call fcn.00409630
mov cl, 1
add esp, 0x1c
mov byte [esp + 0x13], cl
jmp 0x4dfe89
cmp byte [edi + 0x17c], 0
je 0x4dfe85
cmp dword [ebx + 0x20], 9
jne 0x4dfe85
push ebx
push ebp
call fcn.004ddd70
mov cl, 1
add esp, 8
mov byte [esp + 0x13], cl
jmp 0x4dfe89
push 0x20
push 0
push 0
mov dword [ebp], 2
mov dword [ebp + 4], ebx
call fcn.0040fcf0
push 0x20
push 1
push dword [ebp + 0x10]
mov edi, eax
mov dword [esp + 0x78], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x4dfe71
mov eax, dword [esp + 0x60]
push esi
mov dword [esi + 0x30], edi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
add esp, 8
add esi, 0x18
push esi
push 5
push ebx
call fcn.0040a9d0
mov cl, 1
add esp, 0xc
mov byte [esp + 0x13], cl
jmp 0x4dfe89
mov cl, byte [esp + 0x13]
mov ebx, dword [esp + 0x24]
mov edx, ebx
mov dword [esp + 0x20], ebx
test edx, edx
je 0x4dfea9
mov eax, dword [edx]
test eax, eax
je 0x4dfea9
xor edx, edx
cmp dword [eax], edx
cmovne edx, eax
jmp 0x4de4be
xor edx, edx
mov dword [esp + 0x24], edx
test ebx, ebx
jne 0x4de4c2
pop edi
pop esi
pop ebp
mov al, cl
pop ebx
add esp, 0x4c
ret