Function at 0x4de5b0
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 0x4dffdc
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 0x4dffa9
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.0040ac90
add esp, 4
test al, al
je 0x4de648
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 0x4de648
or ebp, 1
mov dword [esp + 0x1c], ebp
cmp byte [edi + 0x17e], 0
mov ebp, dword [esp + 0x64]
je 0x4de7d6
xor al, al
mov dword [ebp], 2
mov dword [ebp + 4], ebx
cmp dword [ebx + 0x3c], 0
mov byte [esp + 0x60], al
jbe 0x4de7cd
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 0x4de69a
sub eax, 1
jne 0x4de7b0
lea eax, [ebx + 0x5c]
jmp 0x4de69d
lea eax, [ebx + 0x58]
mov esi, dword [eax]
mov dword [esp + 0x28], eax
test esi, esi
je 0x4de7b0
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 0x4de6d2
or ecx, 0xffffffff
mov dword [esp + 0x60], 0x40
or edx, 0xffffffff
jmp 0x4de6f7
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 0x4de762
push dword [esp + 0x60]
push ecx
push esi
call fcn.0040fd20
push dword [esp + 0x6c]
mov dword [esp + 0x3c], eax
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x48], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x4de74a
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.0041dc20
add esp, 8
add esi, 0x18
mov eax, dword [esp + 0x18]
push esi
push eax
push 0x122
push ebp
call fcn.0041d890
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 0x4de7b4
mov al, byte [esp + 0x60]
inc edi
add ecx, 0x14
mov dword [esp + 0x14], ecx
cmp edi, dword [ebx + 0x3c]
jb 0x4de680
mov edi, dword [esp + 0x68]
mov esi, dword [esp + 0x34]
or al, byte [esp + 0x13]
setne byte [esp + 0x13]
test esi, esi
jne 0x4de7ec
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4de7ec
cmp byte [edi + 4], al
je 0x4de803
cmp byte [ebx + 0x44], al
je 0x4de803
push ebx
push ebp
call fcn.004e0300
add esp, 8
or al, byte [esp + 0x13]
mov eax, dword [esp + 0x1c]
setne byte [esp + 0x13]
cmp dword [ebx + 0x20], 4
jne 0x4de80f
cmp byte [edi + 5], 0
jne 0x4de858
test eax, eax
je 0x4de835
mov edx, dword [ebx + 0x3c]
xor ecx, ecx
test edx, edx
je 0x4de835
mov eax, dword [ebx + 0x38]
add eax, 0x10
cmp dword [eax], 0
je 0x4de831
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x4de822
jmp 0x4de835
test ecx, ecx
jns 0x4de858
cmp dword [ebx + 0x18], 4
jne 0x4de841
cmp byte [edi + 6], 0
jne 0x4de858
mov eax, dword [edi + 8]
test eax, eax
je 0x4de875
push dword [edi + 0x180]
push ebx
call eax
add esp, 8
test al, al
je 0x4de875
push ebx
push ebp
call fcn.004dd490
add esp, 8
test al, al
jne 0x4de870
cmp byte [esp + 0x13], al
mov byte [esp + 0x13], al
je 0x4de875
mov byte [esp + 0x13], 1
cmp dword [ebx + 0x18], 4
jne 0x4dea40
cmp byte [edi + 0xc], 0
je 0x4dea40
cmp dword [ebx + 0x20], 4
je 0x4dea40
push ebx
call fcn.0040ac50
add esp, 4
test al, al
je 0x4de8ac
mov dword [ebx + 0x18], 1
jmp 0x4dea3b
mov eax, dword [esp + 0x6c]
cmp byte [eax + 0x74], 0
je 0x4de991
mov dword [ebp], 2
mov dword [ebp + 4], ebx
mov eax, dword [ebx + 0x58]
cdq
push 0x20
push edx
push eax
call fcn.0040fd20
push 0x20
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x78], eax
mov dword [esp + 0x4c], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4de8f4
mov dword [esp + 0x60], eax
jmp 0x4de913
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.0041dc20
lea eax, [esi + 0x18]
add esp, 8
mov dword [esp + 0x60], eax
push 0x1ec
push dword [ebp + 0x10]
call fcn.00409a30
mov esi, eax
push 0x20
push 2
lea eax, [esi + 0x1c]
push eax
push esi
mov dword [esp + 0x4c], eax
call fcn.00407ee0
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.0041dc20
mov edx, dword [ebx + 0x3c]
add esp, 0x20
xor ecx, ecx
test edx, edx
je 0x4dea3b
mov eax, dword [ebx + 0x38]
add eax, 0x10
nop word [eax + eax]
cmp dword [eax], 0
je 0x4de982
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x4de970
jmp 0x4dea3b
cmp ecx, 0xffffffff
je 0x4dea3b
push dword [esp + 0x34]
jmp 0x4de9e8
push ebx
push ebp
mov dword [ebx + 0x18], 1
call fcn.004ee0b0
push eax
push 0x116
push ebp
call fcn.0041d840
push eax
push 0xfe
push ebp
call fcn.0041d840
mov edx, dword [ebx + 0x3c]
add esp, 0x20
xor ecx, ecx
mov dword [esp + 0x60], eax
test edx, edx
je 0x4dea3b
mov eax, dword [ebx + 0x38]
add eax, 0x10
nop dword [eax]
cmp dword [eax], 0
je 0x4de9df
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x4de9d0
jmp 0x4dea3b
cmp ecx, 0xffffffff
je 0x4dea3b
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.0041d890
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 0x4dea67
cmp byte [edi + 0xd], 0
jne 0x4dea58
cmp byte [ebx + 0x45], 0
je 0x4dea67
cmp byte [edi + 0xe], 0
je 0x4dea67
push ebx
push ebp
call fcn.004dcbe0
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 0x4deb28
mov ecx, dword [ebx + 0x38]
add ecx, 0x10
nop dword [eax]
cmp dword [ecx], 0xb
je 0x4deaa2
inc eax
add ecx, 0x14
cmp eax, esi
jb 0x4dea90
jmp 0x4deb28
test eax, eax
js 0x4deb28
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 0x4deafe
nop
mov eax, dword [ecx + 0x18]
cmp eax, 5
je 0x4deb1a
test eax, eax
jne 0x4deae0
xor ecx, ecx
jmp 0x4deaf8
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 0x4dead0
mov ecx, dword [ecx + 0x24]
test ecx, ecx
je 0x4deb1a
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x60], ecx
cmp ecx, 0x20
jae 0x4deb22
mov edx, 1
shl edx, cl
jmp 0x4deb24
mov dword [esp + 0x60], 0
xor edx, edx
mov dword [esp + 0x14], edx
test dword [edi + 0x10], edx
je 0x4dec30
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e05d0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e05d0
movsd xmm0, qword [0x512f50]
add esp, 0x20
mov edi, eax
mov dword [esp + 0x2c], edi
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d20
push 0x20
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4deb96
mov dword [esp + 0x28], eax
jmp 0x4debb5
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.0041dc20
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.00412100
mov edi, eax
mov dword [esp + 0x44], 0
push 1
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x44]
push ebp
call fcn.00412100
mov esi, eax
mov dword [esp + 0x54], 0
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x40]
push ebp
call fcn.00412100
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc840
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 0x4ded3a
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e05d0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e05d0
movsd xmm0, qword [0x512f50]
add esp, 0x20
mov edi, eax
mov dword [esp + 0x2c], edi
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d20
push 0x20
push 1
push dword [esi]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4deca0
mov dword [esp + 0x28], eax
jmp 0x4decbf
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.0041dc20
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.00412100
mov edi, eax
mov dword [esp + 0x44], 1
push 1
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x44]
push ebp
call fcn.00412100
mov esi, eax
mov dword [esp + 0x54], 0
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x40]
push ebp
call fcn.00412100
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc840
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test dword [edi + 0x18], edx
je 0x4dee4b
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e05d0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e05d0
push edi
push 2
push ebx
push ebp
mov dword [esp + 0x5c], eax
call fcn.004e05d0
movsd xmm0, qword [0x512f50]
add esp, 0x30
mov dword [esp + 0x30], eax
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d20
push 0x20
push 1
push dword [ebp + 0x10]
mov edi, eax
mov dword [esp + 0x4c], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4dedb2
mov dword [esp + 0x28], eax
jmp 0x4dedcd
mov eax, dword [esp + 0x34]
push esi
mov dword [esi + 0x30], edi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dc20
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.00412100
mov edi, eax
mov dword [esp + 0x44], 0
push 1
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x44]
push ebp
call fcn.00412100
mov esi, eax
mov dword [esp + 0x54], 0
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x40]
push ebp
call fcn.00412100
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc840
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 0x4def55
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e05d0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e05d0
movsd xmm0, qword [0x512f50]
add esp, 0x20
mov edi, eax
mov dword [esp + 0x2c], edi
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d20
push 0x20
push 1
push dword [esi]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4deebb
mov dword [esp + 0x28], eax
jmp 0x4deeda
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.0041dc20
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.00412100
mov edi, eax
mov dword [esp + 0x44], 1
push 1
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x44]
push ebp
call fcn.00412100
mov esi, eax
mov dword [esp + 0x54], 0
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x40]
push ebp
call fcn.00412100
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc840
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test dword [edi + 0x20], edx
je 0x4df05d
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e05d0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e05d0
movsd xmm0, qword [0x512f50]
add esp, 0x20
mov edi, eax
mov dword [esp + 0x2c], edi
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d20
push 0x20
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4defc3
mov dword [esp + 0x28], eax
jmp 0x4defe2
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.0041dc20
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.00412100
mov edi, eax
mov dword [esp + 0x44], 3
push 1
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x44]
push ebp
call fcn.00412100
mov esi, eax
mov dword [esp + 0x54], 0
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x40]
push ebp
call fcn.00412100
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc840
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 0x4df16e
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e05d0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x4c], eax
call fcn.004e05d0
movsd xmm0, qword [0x512f50]
add esp, 0x20
mov dword [esp + 0x30], eax
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d20
push 0x20
push 1
push dword [esi]
mov edi, eax
mov dword [esp + 0x4c], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4df0cd
mov dword [esp + 0x28], eax
jmp 0x4df0e8
mov eax, dword [esp + 0x34]
push esi
mov dword [esi + 0x30], edi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dc20
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.00412100
mov edi, eax
mov dword [esp + 0x44], 0
push 1
lea eax, [esp + 0x48]
push eax
push esi
push ebp
call fcn.00412100
mov esi, eax
mov dword [esp + 0x54], 1
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x54]
push ebp
call fcn.00412100
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc840
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 0x4df275
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e05d0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x58], eax
call fcn.004e05d0
movsd xmm0, qword [0x512f50]
add esp, 0x20
mov edi, eax
mov dword [esp + 0x2c], edi
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d20
push 0x20
push 1
push dword [esi]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4df1db
mov dword [esp + 0x28], eax
jmp 0x4df1fa
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.0041dc20
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.00412100
mov edi, eax
mov dword [esp + 0x44], 2
push 1
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x44]
push ebp
call fcn.00412100
mov esi, eax
mov dword [esp + 0x54], 1
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x60]
push ebp
call fcn.00412100
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc840
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test dword [edi + 0x2c], edx
je 0x4df330
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e05d0
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.00412100
mov ebx, eax
mov dword [esp + 0x58], 0
push 1
lea eax, [esp + 0x5c]
push eax
push ebp
push esi
call fcn.00412100
mov edi, eax
mov dword [esp + 0x68], 1
push 1
lea eax, [esp + 0x6c]
push eax
push ebp
push esi
call fcn.00412100
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.00412100
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.004dc840
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 0x4df334
mov esi, dword [esp + 0x18]
test dword [edi + 0x30], edx
je 0x4df42d
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e05d0
movsd xmm0, qword [0x512f50]
add esp, 0x10
mov edi, eax
mov dword [esp + 0x28], edi
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d20
push 0x20
push 1
push dword [esi]
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4df393
mov dword [esp + 0x2c], eax
jmp 0x4df3b2
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.0041dc20
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.00412100
mov edi, eax
mov dword [esp + 0x48], 1
push 1
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x40]
push ebp
call fcn.00412100
mov esi, eax
mov dword [esp + 0x58], 2
push 1
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x50]
push ebp
call fcn.00412100
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x64]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc840
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test dword [edi + 0x34], edx
je 0x4df52f
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e05d0
movsd xmm0, qword [0x512f50]
add esp, 0x10
mov edi, eax
mov dword [esp + 0x2c], edi
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d20
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x24]
push 0x20
push 1
mov dword [esp + 0x48], edx
push dword [eax]
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4df490
mov dword [esp + 0x28], eax
jmp 0x4df4af
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.0041dc20
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.00412100
mov edi, eax
mov dword [esp + 0x48], 1
push 1
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x44]
push ebp
call fcn.00412100
mov esi, eax
mov dword [esp + 0x58], 0
push 1
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x54]
push ebp
call fcn.00412100
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc840
mov edi, dword [esp + 0xb8]
lea esi, [ebp + 0x10]
add esp, 0x50
mov byte [esp + 0x13], 1
mov dword [esp + 0x18], esi
jmp 0x4df533
mov esi, dword [esp + 0x18]
mov ecx, dword [ebx + 0x58]
mov eax, 1
shl eax, cl
test dword [edi + 0x38], eax
je 0x4df632
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e05d0
movsd xmm0, qword [0x512f50]
add esp, 0x10
mov edi, eax
mov dword [esp + 0x2c], edi
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d20
push 0x20
push 1
push dword [esi]
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4df59c
mov dword [esp + 0x28], eax
jmp 0x4df5bb
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.0041dc20
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.00412100
mov edi, eax
mov dword [esp + 0x48], 2
push 1
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x44]
push ebp
call fcn.00412100
mov esi, eax
mov dword [esp + 0x58], 1
push 1
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x54]
push ebp
call fcn.00412100
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc840
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 0x4df735
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e05d0
movsd xmm0, qword [0x512f50]
add esp, 0x10
mov edi, eax
mov dword [esp + 0x2c], edi
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d20
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x24]
push 0x20
push 1
mov dword [esp + 0x48], edx
push dword [eax]
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4df69f
mov dword [esp + 0x28], eax
jmp 0x4df6be
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.0041dc20
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.00412100
mov edi, eax
mov dword [esp + 0x48], 1
push 1
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x44]
push ebp
call fcn.00412100
mov esi, eax
mov dword [esp + 0x58], 2
push 1
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x54]
push ebp
call fcn.00412100
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc840
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 0x4df7ed
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e05d0
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.00412100
mov ebx, eax
mov dword [esp + 0x58], 2
push 1
lea eax, [esp + 0x5c]
push eax
push ebp
push esi
call fcn.00412100
mov edi, eax
mov dword [esp + 0x68], 0
push 1
lea eax, [esp + 0x6c]
push eax
push ebp
push esi
call fcn.00412100
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.00412100
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.004dc840
mov edi, dword [esp + 0x98]
add esp, 0x30
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4df80b
push eax
push ebx
push ebp
call fcn.004e0790
mov ebx, eax
mov byte [esp + 0x1f], 1
add esp, 0xc
mov dword [esp + 0x20], ebx
cmp dword [ebx + 0x20], 0xa
jne 0x4df866
cmp byte [edi + 0x171], 0
je 0x4df866
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.00412100
push dword [eax]
push eax
push esi
call fcn.00407fa0
add esp, 0x1c
mov byte [esp + 0x13], 1
mov esi, dword [esp + 0x14]
test dword [edi + 0x5c], esi
je 0x4df89f
push ebx
call fcn.0040ac50
add esp, 4
test al, al
jne 0x4df89f
cmp byte [ebx + 0x45], al
je 0x4df886
cmp byte [ebx + 0x46], al
jne 0x4df89f
mov eax, dword [ebx + 0x58]
add eax, 0x18
lea eax, [edi + eax*4]
push eax
push ebx
push ebp
call fcn.004e09f0
add esp, 0xc
mov byte [esp + 0x13], 1
test dword [edi + 0x160], esi
je 0x4df998
push ebx
call fcn.0040ac50
add esp, 4
test al, al
jne 0x4df998
cmp byte [ebx + 0x45], al
jne 0x4df998
mov dword [ebp + 4], ebx
add ebx, 0x24
mov dword [ebp], 3
mov dword [esp + 0x38], ebx
cmp byte [ebx + 0x10], 3
jne 0x4df8e0
mov eax, ebx
jmp 0x4df8ec
push 7
push ebx
push ebp
call fcn.0040fb80
add esp, 0xc
push eax
push ebp
call fcn.004ee930
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.00412100
mov ebx, eax
mov dword [esp + 0x78], 2
push 1
lea eax, [esp + 0x7c]
push eax
push ebp
push esi
call fcn.00412100
mov edi, eax
mov dword [esp + 0x88], 1
push 1
lea eax, [esp + 0x8c]
push eax
push ebp
push esi
call fcn.00412100
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.00412100
add esp, 0x48
push ebx
push edi
push esi
push eax
push 0x1cc
push ebp
call fcn.0041d980
push dword [eax]
push eax
push dword [esp + 0x58]
call fcn.00407fa0
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 0x4df9b8
mov ecx, dword [ebx + 0x38]
add ecx, 0x10
cmp dword [ecx], 6
je 0x4dfaef
inc eax
add ecx, 0x14
cmp eax, esi
jb 0x4df9a7
or eax, 0xffffffff
xor ecx, ecx
shr eax, 0x1f
xor al, 1
mov dword [esp + 0x60], eax
test esi, esi
je 0x4df9dd
mov edx, dword [ebx + 0x38]
add edx, 0x10
cmp dword [edx], 3
je 0x4df9e0
inc ecx
add edx, 0x14
cmp ecx, esi
jb 0x4df9d0
or ecx, 0xffffffff
shr ecx, 0x1f
xor cl, 1
cmp dword [ebx + 0x20], 1
mov dword [esp + 0x38], ecx
jne 0x4dfa24
cmp byte [ebx + 0x45], 0
je 0x4dfa24
test al, al
je 0x4dfa24
cmp byte [edi + 0x16a], 0
je 0x4dfa24
push ebx
push ebp
mov dword [ebp], 2
mov dword [ebp + 4], ebx
call fcn.004ee060
push eax
push ebx
push ebp
call fcn.004dd420
add esp, 0x14
mov byte [esp + 0x13], 1
cmp dword [edi + 0x174], 0
je 0x4dfa53
mov eax, dword [ebx + 0x20]
cmp eax, 8
je 0x4dfa53
cmp eax, 0xb
je 0x4dfa53
cmp eax, 0xc
je 0x4dfa53
push edi
push ebx
push ebp
call fcn.004dd6e0
add esp, 0xc
or al, byte [esp + 0x13]
setne byte [esp + 0x13]
cmp dword [ebx + 0x20], 3
jne 0x4dfbc0
cmp byte [edi + 0x168], 0
jne 0x4dfbab
cmp byte [edi + 0x169], 0
mov eax, dword [esp + 0x60]
je 0x4dfa7f
test al, al
jne 0x4dfbab
cmp byte [edi + 0x167], 0
je 0x4dfa92
cmp byte [ebx + 0x45], 0
jne 0x4dfbab
cmp byte [edi + 0x16b], 0
je 0x4dfaa9
cmp byte [ebx + 0x45], 0
je 0x4dfaa9
test al, al
jne 0x4dfbab
cmp byte [edi + 0x16c], 0
je 0x4dfac1
cmp byte [esp + 0x38], 0
je 0x4dfac1
test al, al
jne 0x4dfbab
cmp byte [edi + 0x16d], 0
je 0x4dfb08
test al, al
je 0x4dfb08
mov esi, dword [ebx + 0x3c]
xor edx, edx
test esi, esi
je 0x4dfb08
mov ecx, dword [ebx + 0x38]
add ecx, 0x10
nop dword [eax]
cmp dword [ecx], 0x10
je 0x4dfaff
inc edx
add ecx, 0x14
cmp edx, esi
jb 0x4dfae0
jmp 0x4dfb08
shr eax, 0x1f
xor al, 1
xor ecx, ecx
mov dword [esp + 0x60], eax
jmp 0x4df9ca
cmp edx, 0xffffffff
jne 0x4dfbab
cmp byte [edi + 0x16e], 0
je 0x4dfb7e
test al, al
je 0x4dfb7e
mov edx, dword [ebx + 0x3c]
xor eax, eax
mov esi, dword [ebx + 0x5c]
test edx, edx
je 0x4dfb79
mov ecx, dword [ebx + 0x38]
add ecx, 0x10
cmp dword [ecx], 0xe
je 0x4dfb36
inc eax
add ecx, 0x14
cmp eax, edx
jb 0x4dfb27
jmp 0x4dfb79
test eax, eax
js 0x4dfb79
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 0x4dfbab
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.00407cf0
add esp, 0xc
add esi, eax
cmp esi, 0x10
jae 0x4dfbab
cmp byte [edi + 0x164], 0
je 0x4dfb8d
cmp dword [ebx + 0x18], 3
je 0x4dfbab
cmp byte [edi + 0x165], 0
je 0x4dfb9c
cmp dword [ebx + 0x18], 2
je 0x4dfbab
cmp byte [edi + 0x166], 0
je 0x4dfbc0
cmp byte [ebx + 0x44], 0
je 0x4dfbc0
push ebx
push ebp
call fcn.004dcdf0
mov cl, 1
add esp, 8
mov byte [esp + 0x13], cl
jmp 0x4dffa9
mov edx, dword [ebx + 0x3c]
xor ecx, ecx
test edx, edx
je 0x4dfbe4
mov eax, dword [ebx + 0x38]
add eax, 0x10
nop
cmp dword [eax], 5
je 0x4dfbdf
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x4dfbd0
jmp 0x4dfbe4
cmp ecx, 0xffffffff
jne 0x4dfc0b
mov eax, dword [ebx + 0x20]
cmp eax, 4
je 0x4dff4a
cmp eax, 8
je 0x4dff4a
cmp eax, 2
je 0x4dff4a
cmp eax, 0xb
je 0x4dff4a
cmp byte [edi + 0x17d], 0
je 0x4dfce9
push ebx
call fcn.0040ac00
add esp, 4
test al, al
je 0x4dfce9
cmp dword [ebx + 0x18], 4
je 0x4dfce9
push dword [ebp + 0x10]
call fcn.0040a1d0
add esp, 4
test al, al
jne 0x4dfce9
push 0x20
push 0
push 0
mov dword [ebp], 2
mov dword [ebp + 4], ebx
call fcn.0040fd20
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 0x4dfcb0
call fcn.00409be0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4dfc9d
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.0041dc20
add esp, 8
lea eax, [esi + 0x18]
push eax
lea esi, [ebx + 0x24]
push esi
call fcn.00407f30
push dword [esi]
call fcn.00409650
jmp 0x4dfce1
call fcn.00409be0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4dfcd9
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.0041dc20
add esp, 8
add esi, 0x18
push esi
push ebx
push ebp
call fcn.004dd420
add esp, 0xc
mov byte [esp + 0x13], 1
cmp byte [edi + 0x16f], 0
je 0x4dfd12
cmp dword [ebx + 0x20], 8
jne 0x4dfd12
push ebx
push ebp
call fcn.004dfff0
add esp, 8
or al, byte [esp + 0x13]
setne cl
mov byte [esp + 0x13], cl
jmp 0x4dffa9
cmp byte [edi + 0x170], 0
je 0x4dfe15
cmp dword [ebx + 0x20], 8
jne 0x4dfe15
cmp dword [ebx + 0x18], 3
jne 0x4dfe15
cmp byte [ebx + 0x44], 0
je 0x4dfe15
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.0040fd20
push 0x20
push 1
push dword [ebp + 0x10]
mov edi, eax
mov dword [esp + 0x78], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x4dfd8e
mov eax, dword [esp + 0x60]
push esi
mov dword [esi + 0x30], edi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dc20
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.00412100
push esi
push eax
push 0x128
push ebp
call fcn.0041d890
mov edi, eax
mov dword [esp + 0x80], 1
push 1
lea eax, [esp + 0x84]
push eax
push ebx
push ebp
call fcn.00412100
mov esi, eax
mov dword [esp + 0x90], 1
push 1
lea eax, [esp + 0x94]
push eax
push ebx
push ebp
call fcn.00412100
add esp, 0x40
push edi
push esi
push eax
push 0x1cb
push ebp
call fcn.0041d900
push dword [eax]
push eax
push ebx
call fcn.00407fa0
mov cl, 1
add esp, 0x20
mov byte [esp + 0x13], cl
jmp 0x4dffa9
cmp dword [ebx + 0x20], 0xa
jne 0x4dfe4b
push ebx
call fcn.0040abd0
add esp, 4
test al, al
je 0x4dfe4b
cmp byte [edi + 0x172], 0
je 0x4dfe4b
push ebx
push ebp
call fcn.004dda60
add esp, 8
or al, byte [esp + 0x13]
setne cl
mov byte [esp + 0x13], cl
jmp 0x4dffa9
cmp byte [edi + 0x173], 0
je 0x4dff29
mov eax, dword [ebx + 0x20]
cmp eax, 5
jne 0x4dfe75
push ebx
push ebp
call fcn.004de100
mov cl, 1
add esp, 8
mov byte [esp + 0x13], cl
jmp 0x4dffa9
cmp eax, 0xd
jne 0x4dff29
push ebx
push dword [ebp + 0x10]
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.0045a8e0
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.00407ee0
push esi
push ebp
call fcn.0041dc20
movzx esi, byte [edi + 0x11]
push esi
push 0
push 0
call fcn.0040fd20
push esi
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x98], eax
mov dword [esp + 0x70], edx
call fcn.00409be0
mov esi, eax
add esp, 0x38
test esi, esi
je 0x4dfefe
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.0041dc20
add esp, 8
add esi, 0x18
push esi
push edi
push 0x129
push ebp
call fcn.0041d890
push eax
lea eax, [ebx + 0x24]
push eax
call fcn.00407f30
push ebx
call fcn.00409650
mov cl, 1
add esp, 0x1c
mov byte [esp + 0x13], cl
jmp 0x4dffa9
cmp byte [edi + 0x17c], 0
je 0x4dffa5
cmp dword [ebx + 0x20], 9
jne 0x4dffa5
push ebx
push ebp
call fcn.004dde90
mov cl, 1
add esp, 8
mov byte [esp + 0x13], cl
jmp 0x4dffa9
push 0x20
push 0
push 0
mov dword [ebp], 2
mov dword [ebp + 4], ebx
call fcn.0040fd20
push 0x20
push 1
push dword [ebp + 0x10]
mov edi, eax
mov dword [esp + 0x78], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x4dff91
mov eax, dword [esp + 0x60]
push esi
mov dword [esi + 0x30], edi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dc20
add esp, 8
add esi, 0x18
push esi
push 5
push ebx
call fcn.0040a9f0
mov cl, 1
add esp, 0xc
mov byte [esp + 0x13], cl
jmp 0x4dffa9
mov cl, byte [esp + 0x13]
mov ebx, dword [esp + 0x24]
mov edx, ebx
mov dword [esp + 0x20], ebx
test edx, edx
je 0x4dffc9
mov eax, dword [edx]
test eax, eax
je 0x4dffc9
xor edx, edx
cmp dword [eax], edx
cmovne edx, eax
jmp 0x4de5de
xor edx, edx
mov dword [esp + 0x24], edx
test ebx, ebx
jne 0x4de5e2
pop edi
pop esi
pop ebp
mov al, cl
pop ebx
add esp, 0x4c
ret