Function at 0x4de690
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 0x4e00bc
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 0x4e0089
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.0040ad00
add esp, 4
test al, al
je 0x4de728
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 0x4de728
or ebp, 1
mov dword [esp + 0x1c], ebp
cmp byte [edi + 0x17e], 0
mov ebp, dword [esp + 0x64]
je 0x4de8b6
xor al, al
mov dword [ebp], 2
mov dword [ebp + 4], ebx
cmp dword [ebx + 0x3c], 0
mov byte [esp + 0x60], al
jbe 0x4de8ad
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 0x4de77a
sub eax, 1
jne 0x4de890
lea eax, [ebx + 0x5c]
jmp 0x4de77d
lea eax, [ebx + 0x58]
mov esi, dword [eax]
mov dword [esp + 0x28], eax
test esi, esi
je 0x4de890
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 0x4de7b2
or ecx, 0xffffffff
mov dword [esp + 0x60], 0x40
or edx, 0xffffffff
jmp 0x4de7d7
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 0x4de842
push dword [esp + 0x60]
push ecx
push esi
call fcn.0040fdb0
push dword [esp + 0x6c]
mov dword [esp + 0x3c], eax
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x48], edx
call fcn.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
je 0x4de82a
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.0041dcb0
add esp, 8
add esi, 0x18
mov eax, dword [esp + 0x18]
push esi
push eax
push 0x122
push ebp
call fcn.0041d920
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 0x4de894
mov al, byte [esp + 0x60]
inc edi
add ecx, 0x14
mov dword [esp + 0x14], ecx
cmp edi, dword [ebx + 0x3c]
jb 0x4de760
mov edi, dword [esp + 0x68]
mov esi, dword [esp + 0x34]
or al, byte [esp + 0x13]
setne byte [esp + 0x13]
test esi, esi
jne 0x4de8cc
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4de8cc
cmp byte [edi + 4], al
je 0x4de8e3
cmp byte [ebx + 0x44], al
je 0x4de8e3
push ebx
push ebp
call fcn.004e03e0
add esp, 8
or al, byte [esp + 0x13]
mov eax, dword [esp + 0x1c]
setne byte [esp + 0x13]
cmp dword [ebx + 0x20], 4
jne 0x4de8ef
cmp byte [edi + 5], 0
jne 0x4de938
test eax, eax
je 0x4de915
mov edx, dword [ebx + 0x3c]
xor ecx, ecx
test edx, edx
je 0x4de915
mov eax, dword [ebx + 0x38]
add eax, 0x10
cmp dword [eax], 0
je 0x4de911
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x4de902
jmp 0x4de915
test ecx, ecx
jns 0x4de938
cmp dword [ebx + 0x18], 4
jne 0x4de921
cmp byte [edi + 6], 0
jne 0x4de938
mov eax, dword [edi + 8]
test eax, eax
je 0x4de955
push dword [edi + 0x180]
push ebx
call eax
add esp, 8
test al, al
je 0x4de955
push ebx
push ebp
call fcn.004dd570
add esp, 8
test al, al
jne 0x4de950
cmp byte [esp + 0x13], al
mov byte [esp + 0x13], al
je 0x4de955
mov byte [esp + 0x13], 1
cmp dword [ebx + 0x18], 4
jne 0x4deb20
cmp byte [edi + 0xc], 0
je 0x4deb20
cmp dword [ebx + 0x20], 4
je 0x4deb20
push ebx
call fcn.0040acc0
add esp, 4
test al, al
je 0x4de98c
mov dword [ebx + 0x18], 1
jmp 0x4deb1b
mov eax, dword [esp + 0x6c]
cmp byte [eax + 0x74], 0
je 0x4dea71
mov dword [ebp], 2
mov dword [ebp + 4], ebx
mov eax, dword [ebx + 0x58]
cdq
push 0x20
push edx
push eax
call fcn.0040fdb0
push 0x20
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x78], eax
mov dword [esp + 0x4c], edx
call fcn.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4de9d4
mov dword [esp + 0x60], eax
jmp 0x4de9f3
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.0041dcb0
lea eax, [esi + 0x18]
add esp, 8
mov dword [esp + 0x60], eax
push 0x1ec
push dword [ebp + 0x10]
call fcn.00409aa0
mov esi, eax
push 0x20
push 2
lea eax, [esi + 0x1c]
push eax
push esi
mov dword [esp + 0x4c], eax
call fcn.00407f50
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.0041dcb0
mov edx, dword [ebx + 0x3c]
add esp, 0x20
xor ecx, ecx
test edx, edx
je 0x4deb1b
mov eax, dword [ebx + 0x38]
add eax, 0x10
nop word [eax + eax]
cmp dword [eax], 0
je 0x4dea62
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x4dea50
jmp 0x4deb1b
cmp ecx, 0xffffffff
je 0x4deb1b
push dword [esp + 0x34]
jmp 0x4deac8
push ebx
push ebp
mov dword [ebx + 0x18], 1
call fcn.004ee190
push eax
push 0x116
push ebp
call fcn.0041d8d0
push eax
push 0xfe
push ebp
call fcn.0041d8d0
mov edx, dword [ebx + 0x3c]
add esp, 0x20
xor ecx, ecx
mov dword [esp + 0x60], eax
test edx, edx
je 0x4deb1b
mov eax, dword [ebx + 0x38]
add eax, 0x10
nop dword [eax]
cmp dword [eax], 0
je 0x4deabf
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x4deab0
jmp 0x4deb1b
cmp ecx, 0xffffffff
je 0x4deb1b
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.0041d920
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 0x4deb47
cmp byte [edi + 0xd], 0
jne 0x4deb38
cmp byte [ebx + 0x45], 0
je 0x4deb47
cmp byte [edi + 0xe], 0
je 0x4deb47
push ebx
push ebp
call fcn.004dccc0
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 0x4dec08
mov ecx, dword [ebx + 0x38]
add ecx, 0x10
nop dword [eax]
cmp dword [ecx], 0xb
je 0x4deb82
inc eax
add ecx, 0x14
cmp eax, esi
jb 0x4deb70
jmp 0x4dec08
test eax, eax
js 0x4dec08
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 0x4debde
nop
mov eax, dword [ecx + 0x18]
cmp eax, 5
je 0x4debfa
test eax, eax
jne 0x4debc0
xor ecx, ecx
jmp 0x4debd8
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 0x4debb0
mov ecx, dword [ecx + 0x24]
test ecx, ecx
je 0x4debfa
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x60], ecx
cmp ecx, 0x20
jae 0x4dec02
mov edx, 1
shl edx, cl
jmp 0x4dec04
mov dword [esp + 0x60], 0
xor edx, edx
mov dword [esp + 0x14], edx
test dword [edi + 0x10], edx
je 0x4ded10
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06b0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e06b0
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.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4dec76
mov dword [esp + 0x28], eax
jmp 0x4dec95
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.0041dcb0
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.00412190
mov edi, eax
mov dword [esp + 0x44], 0
push 1
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x44]
push ebp
call fcn.00412190
mov esi, eax
mov dword [esp + 0x54], 0
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x40]
push ebp
call fcn.00412190
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc920
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 0x4dee1a
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06b0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e06b0
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.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4ded80
mov dword [esp + 0x28], eax
jmp 0x4ded9f
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.0041dcb0
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.00412190
mov edi, eax
mov dword [esp + 0x44], 1
push 1
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x44]
push ebp
call fcn.00412190
mov esi, eax
mov dword [esp + 0x54], 0
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x40]
push ebp
call fcn.00412190
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc920
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test dword [edi + 0x18], edx
je 0x4def2b
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06b0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e06b0
push edi
push 2
push ebx
push ebp
mov dword [esp + 0x5c], eax
call fcn.004e06b0
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.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4dee92
mov dword [esp + 0x28], eax
jmp 0x4deead
mov eax, dword [esp + 0x34]
push esi
mov dword [esi + 0x30], edi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dcb0
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.00412190
mov edi, eax
mov dword [esp + 0x44], 0
push 1
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x44]
push ebp
call fcn.00412190
mov esi, eax
mov dword [esp + 0x54], 0
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x40]
push ebp
call fcn.00412190
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc920
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 0x4df035
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06b0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e06b0
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.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4def9b
mov dword [esp + 0x28], eax
jmp 0x4defba
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.0041dcb0
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.00412190
mov edi, eax
mov dword [esp + 0x44], 1
push 1
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x44]
push ebp
call fcn.00412190
mov esi, eax
mov dword [esp + 0x54], 0
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x40]
push ebp
call fcn.00412190
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc920
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test dword [edi + 0x20], edx
je 0x4df13d
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06b0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e06b0
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.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4df0a3
mov dword [esp + 0x28], eax
jmp 0x4df0c2
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.0041dcb0
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.00412190
mov edi, eax
mov dword [esp + 0x44], 3
push 1
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x44]
push ebp
call fcn.00412190
mov esi, eax
mov dword [esp + 0x54], 0
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x40]
push ebp
call fcn.00412190
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc920
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 0x4df24e
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06b0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x4c], eax
call fcn.004e06b0
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.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4df1ad
mov dword [esp + 0x28], eax
jmp 0x4df1c8
mov eax, dword [esp + 0x34]
push esi
mov dword [esi + 0x30], edi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dcb0
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.00412190
mov edi, eax
mov dword [esp + 0x44], 0
push 1
lea eax, [esp + 0x48]
push eax
push esi
push ebp
call fcn.00412190
mov esi, eax
mov dword [esp + 0x54], 1
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x54]
push ebp
call fcn.00412190
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc920
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 0x4df355
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06b0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x58], eax
call fcn.004e06b0
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.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4df2bb
mov dword [esp + 0x28], eax
jmp 0x4df2da
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.0041dcb0
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.00412190
mov edi, eax
mov dword [esp + 0x44], 2
push 1
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x44]
push ebp
call fcn.00412190
mov esi, eax
mov dword [esp + 0x54], 1
push 1
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x60]
push ebp
call fcn.00412190
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc920
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test dword [edi + 0x2c], edx
je 0x4df410
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06b0
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.00412190
mov ebx, eax
mov dword [esp + 0x58], 0
push 1
lea eax, [esp + 0x5c]
push eax
push ebp
push esi
call fcn.00412190
mov edi, eax
mov dword [esp + 0x68], 1
push 1
lea eax, [esp + 0x6c]
push eax
push ebp
push esi
call fcn.00412190
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.00412190
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.004dc920
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 0x4df414
mov esi, dword [esp + 0x18]
test dword [edi + 0x30], edx
je 0x4df50d
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06b0
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.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4df473
mov dword [esp + 0x2c], eax
jmp 0x4df492
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.0041dcb0
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.00412190
mov edi, eax
mov dword [esp + 0x48], 1
push 1
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x40]
push ebp
call fcn.00412190
mov esi, eax
mov dword [esp + 0x58], 2
push 1
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x50]
push ebp
call fcn.00412190
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x64]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc920
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test dword [edi + 0x34], edx
je 0x4df60f
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06b0
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.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4df570
mov dword [esp + 0x28], eax
jmp 0x4df58f
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.0041dcb0
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.00412190
mov edi, eax
mov dword [esp + 0x48], 1
push 1
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x44]
push ebp
call fcn.00412190
mov esi, eax
mov dword [esp + 0x58], 0
push 1
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x54]
push ebp
call fcn.00412190
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc920
mov edi, dword [esp + 0xb8]
lea esi, [ebp + 0x10]
add esp, 0x50
mov byte [esp + 0x13], 1
mov dword [esp + 0x18], esi
jmp 0x4df613
mov esi, dword [esp + 0x18]
mov ecx, dword [ebx + 0x58]
mov eax, 1
shl eax, cl
test dword [edi + 0x38], eax
je 0x4df712
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06b0
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.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4df67c
mov dword [esp + 0x28], eax
jmp 0x4df69b
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.0041dcb0
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.00412190
mov edi, eax
mov dword [esp + 0x48], 2
push 1
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x44]
push ebp
call fcn.00412190
mov esi, eax
mov dword [esp + 0x58], 1
push 1
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x54]
push ebp
call fcn.00412190
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc920
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 0x4df815
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06b0
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.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4df77f
mov dword [esp + 0x28], eax
jmp 0x4df79e
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.0041dcb0
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.00412190
mov edi, eax
mov dword [esp + 0x48], 1
push 1
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x44]
push ebp
call fcn.00412190
mov esi, eax
mov dword [esp + 0x58], 2
push 1
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x54]
push ebp
call fcn.00412190
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push edi
push esi
push eax
push ebx
push ebp
call fcn.004dc920
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 0x4df8cd
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06b0
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.00412190
mov ebx, eax
mov dword [esp + 0x58], 2
push 1
lea eax, [esp + 0x5c]
push eax
push ebp
push esi
call fcn.00412190
mov edi, eax
mov dword [esp + 0x68], 0
push 1
lea eax, [esp + 0x6c]
push eax
push ebp
push esi
call fcn.00412190
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.00412190
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.004dc920
mov edi, dword [esp + 0x98]
add esp, 0x30
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4df8eb
push eax
push ebx
push ebp
call fcn.004e0870
mov ebx, eax
mov byte [esp + 0x1f], 1
add esp, 0xc
mov dword [esp + 0x20], ebx
cmp dword [ebx + 0x20], 0xa
jne 0x4df946
cmp byte [edi + 0x171], 0
je 0x4df946
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.00412190
push dword [eax]
push eax
push esi
call fcn.00408010
add esp, 0x1c
mov byte [esp + 0x13], 1
mov esi, dword [esp + 0x14]
test dword [edi + 0x5c], esi
je 0x4df97f
push ebx
call fcn.0040acc0
add esp, 4
test al, al
jne 0x4df97f
cmp byte [ebx + 0x45], al
je 0x4df966
cmp byte [ebx + 0x46], al
jne 0x4df97f
mov eax, dword [ebx + 0x58]
add eax, 0x18
lea eax, [edi + eax*4]
push eax
push ebx
push ebp
call fcn.004e0ad0
add esp, 0xc
mov byte [esp + 0x13], 1
test dword [edi + 0x160], esi
je 0x4dfa78
push ebx
call fcn.0040acc0
add esp, 4
test al, al
jne 0x4dfa78
cmp byte [ebx + 0x45], al
jne 0x4dfa78
mov dword [ebp + 4], ebx
add ebx, 0x24
mov dword [ebp], 3
mov dword [esp + 0x38], ebx
cmp byte [ebx + 0x10], 3
jne 0x4df9c0
mov eax, ebx
jmp 0x4df9cc
push 7
push ebx
push ebp
call fcn.0040fc10
add esp, 0xc
push eax
push ebp
call fcn.004eea10
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.00412190
mov ebx, eax
mov dword [esp + 0x78], 2
push 1
lea eax, [esp + 0x7c]
push eax
push ebp
push esi
call fcn.00412190
mov edi, eax
mov dword [esp + 0x88], 1
push 1
lea eax, [esp + 0x8c]
push eax
push ebp
push esi
call fcn.00412190
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.00412190
add esp, 0x48
push ebx
push edi
push esi
push eax
push 0x1cc
push ebp
call fcn.0041da10
push dword [eax]
push eax
push dword [esp + 0x58]
call fcn.00408010
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 0x4dfa98
mov ecx, dword [ebx + 0x38]
add ecx, 0x10
cmp dword [ecx], 6
je 0x4dfbcf
inc eax
add ecx, 0x14
cmp eax, esi
jb 0x4dfa87
or eax, 0xffffffff
xor ecx, ecx
shr eax, 0x1f
xor al, 1
mov dword [esp + 0x60], eax
test esi, esi
je 0x4dfabd
mov edx, dword [ebx + 0x38]
add edx, 0x10
cmp dword [edx], 3
je 0x4dfac0
inc ecx
add edx, 0x14
cmp ecx, esi
jb 0x4dfab0
or ecx, 0xffffffff
shr ecx, 0x1f
xor cl, 1
cmp dword [ebx + 0x20], 1
mov dword [esp + 0x38], ecx
jne 0x4dfb04
cmp byte [ebx + 0x45], 0
je 0x4dfb04
test al, al
je 0x4dfb04
cmp byte [edi + 0x16a], 0
je 0x4dfb04
push ebx
push ebp
mov dword [ebp], 2
mov dword [ebp + 4], ebx
call fcn.004ee140
push eax
push ebx
push ebp
call fcn.004dd500
add esp, 0x14
mov byte [esp + 0x13], 1
cmp dword [edi + 0x174], 0
je 0x4dfb33
mov eax, dword [ebx + 0x20]
cmp eax, 8
je 0x4dfb33
cmp eax, 0xb
je 0x4dfb33
cmp eax, 0xc
je 0x4dfb33
push edi
push ebx
push ebp
call fcn.004dd7c0
add esp, 0xc
or al, byte [esp + 0x13]
setne byte [esp + 0x13]
cmp dword [ebx + 0x20], 3
jne 0x4dfca0
cmp byte [edi + 0x168], 0
jne 0x4dfc8b
cmp byte [edi + 0x169], 0
mov eax, dword [esp + 0x60]
je 0x4dfb5f
test al, al
jne 0x4dfc8b
cmp byte [edi + 0x167], 0
je 0x4dfb72
cmp byte [ebx + 0x45], 0
jne 0x4dfc8b
cmp byte [edi + 0x16b], 0
je 0x4dfb89
cmp byte [ebx + 0x45], 0
je 0x4dfb89
test al, al
jne 0x4dfc8b
cmp byte [edi + 0x16c], 0
je 0x4dfba1
cmp byte [esp + 0x38], 0
je 0x4dfba1
test al, al
jne 0x4dfc8b
cmp byte [edi + 0x16d], 0
je 0x4dfbe8
test al, al
je 0x4dfbe8
mov esi, dword [ebx + 0x3c]
xor edx, edx
test esi, esi
je 0x4dfbe8
mov ecx, dword [ebx + 0x38]
add ecx, 0x10
nop dword [eax]
cmp dword [ecx], 0x10
je 0x4dfbdf
inc edx
add ecx, 0x14
cmp edx, esi
jb 0x4dfbc0
jmp 0x4dfbe8
shr eax, 0x1f
xor al, 1
xor ecx, ecx
mov dword [esp + 0x60], eax
jmp 0x4dfaaa
cmp edx, 0xffffffff
jne 0x4dfc8b
cmp byte [edi + 0x16e], 0
je 0x4dfc5e
test al, al
je 0x4dfc5e
mov edx, dword [ebx + 0x3c]
xor eax, eax
mov esi, dword [ebx + 0x5c]
test edx, edx
je 0x4dfc59
mov ecx, dword [ebx + 0x38]
add ecx, 0x10
cmp dword [ecx], 0xe
je 0x4dfc16
inc eax
add ecx, 0x14
cmp eax, edx
jb 0x4dfc07
jmp 0x4dfc59
test eax, eax
js 0x4dfc59
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 0x4dfc8b
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.00407d60
add esp, 0xc
add esi, eax
cmp esi, 0x10
jae 0x4dfc8b
cmp byte [edi + 0x164], 0
je 0x4dfc6d
cmp dword [ebx + 0x18], 3
je 0x4dfc8b
cmp byte [edi + 0x165], 0
je 0x4dfc7c
cmp dword [ebx + 0x18], 2
je 0x4dfc8b
cmp byte [edi + 0x166], 0
je 0x4dfca0
cmp byte [ebx + 0x44], 0
je 0x4dfca0
push ebx
push ebp
call fcn.004dced0
mov cl, 1
add esp, 8
mov byte [esp + 0x13], cl
jmp 0x4e0089
mov edx, dword [ebx + 0x3c]
xor ecx, ecx
test edx, edx
je 0x4dfcc4
mov eax, dword [ebx + 0x38]
add eax, 0x10
nop
cmp dword [eax], 5
je 0x4dfcbf
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x4dfcb0
jmp 0x4dfcc4
cmp ecx, 0xffffffff
jne 0x4dfceb
mov eax, dword [ebx + 0x20]
cmp eax, 4
je 0x4e002a
cmp eax, 8
je 0x4e002a
cmp eax, 2
je 0x4e002a
cmp eax, 0xb
je 0x4e002a
cmp byte [edi + 0x17d], 0
je 0x4dfdc9
push ebx
call fcn.0040ac70
add esp, 4
test al, al
je 0x4dfdc9
cmp dword [ebx + 0x18], 4
je 0x4dfdc9
push dword [ebp + 0x10]
call fcn.0040a240
add esp, 4
test al, al
jne 0x4dfdc9
push 0x20
push 0
push 0
mov dword [ebp], 2
mov dword [ebp + 4], ebx
call fcn.0040fdb0
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 0x4dfd90
call fcn.00409c50
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4dfd7d
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.0041dcb0
add esp, 8
lea eax, [esi + 0x18]
push eax
lea esi, [ebx + 0x24]
push esi
call fcn.00407fa0
push dword [esi]
call fcn.004096c0
jmp 0x4dfdc1
call fcn.00409c50
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4dfdb9
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.0041dcb0
add esp, 8
add esi, 0x18
push esi
push ebx
push ebp
call fcn.004dd500
add esp, 0xc
mov byte [esp + 0x13], 1
cmp byte [edi + 0x16f], 0
je 0x4dfdf2
cmp dword [ebx + 0x20], 8
jne 0x4dfdf2
push ebx
push ebp
call fcn.004e00d0
add esp, 8
or al, byte [esp + 0x13]
setne cl
mov byte [esp + 0x13], cl
jmp 0x4e0089
cmp byte [edi + 0x170], 0
je 0x4dfef5
cmp dword [ebx + 0x20], 8
jne 0x4dfef5
cmp dword [ebx + 0x18], 3
jne 0x4dfef5
cmp byte [ebx + 0x44], 0
je 0x4dfef5
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.0040fdb0
push 0x20
push 1
push dword [ebp + 0x10]
mov edi, eax
mov dword [esp + 0x78], edx
call fcn.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
je 0x4dfe6e
mov eax, dword [esp + 0x60]
push esi
mov dword [esi + 0x30], edi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dcb0
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.00412190
push esi
push eax
push 0x128
push ebp
call fcn.0041d920
mov edi, eax
mov dword [esp + 0x80], 1
push 1
lea eax, [esp + 0x84]
push eax
push ebx
push ebp
call fcn.00412190
mov esi, eax
mov dword [esp + 0x90], 1
push 1
lea eax, [esp + 0x94]
push eax
push ebx
push ebp
call fcn.00412190
add esp, 0x40
push edi
push esi
push eax
push 0x1cb
push ebp
call fcn.0041d990
push dword [eax]
push eax
push ebx
call fcn.00408010
mov cl, 1
add esp, 0x20
mov byte [esp + 0x13], cl
jmp 0x4e0089
cmp dword [ebx + 0x20], 0xa
jne 0x4dff2b
push ebx
call fcn.0040ac40
add esp, 4
test al, al
je 0x4dff2b
cmp byte [edi + 0x172], 0
je 0x4dff2b
push ebx
push ebp
call fcn.004ddb40
add esp, 8
or al, byte [esp + 0x13]
setne cl
mov byte [esp + 0x13], cl
jmp 0x4e0089
cmp byte [edi + 0x173], 0
je 0x4e0009
mov eax, dword [ebx + 0x20]
cmp eax, 5
jne 0x4dff55
push ebx
push ebp
call fcn.004de1e0
mov cl, 1
add esp, 8
mov byte [esp + 0x13], cl
jmp 0x4e0089
cmp eax, 0xd
jne 0x4e0009
push ebx
push dword [ebp + 0x10]
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.0045a960
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.00407f50
push esi
push ebp
call fcn.0041dcb0
movzx esi, byte [edi + 0x11]
push esi
push 0
push 0
call fcn.0040fdb0
push esi
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x98], eax
mov dword [esp + 0x70], edx
call fcn.00409c50
mov esi, eax
add esp, 0x38
test esi, esi
je 0x4dffde
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.0041dcb0
add esp, 8
add esi, 0x18
push esi
push edi
push 0x129
push ebp
call fcn.0041d920
push eax
lea eax, [ebx + 0x24]
push eax
call fcn.00407fa0
push ebx
call fcn.004096c0
mov cl, 1
add esp, 0x1c
mov byte [esp + 0x13], cl
jmp 0x4e0089
cmp byte [edi + 0x17c], 0
je 0x4e0085
cmp dword [ebx + 0x20], 9
jne 0x4e0085
push ebx
push ebp
call fcn.004ddf70
mov cl, 1
add esp, 8
mov byte [esp + 0x13], cl
jmp 0x4e0089
push 0x20
push 0
push 0
mov dword [ebp], 2
mov dword [ebp + 4], ebx
call fcn.0040fdb0
push 0x20
push 1
push dword [ebp + 0x10]
mov edi, eax
mov dword [esp + 0x78], edx
call fcn.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
je 0x4e0071
mov eax, dword [esp + 0x60]
push esi
mov dword [esi + 0x30], edi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dcb0
add esp, 8
add esi, 0x18
push esi
push 5
push ebx
call fcn.0040aa60
mov cl, 1
add esp, 0xc
mov byte [esp + 0x13], cl
jmp 0x4e0089
mov cl, byte [esp + 0x13]
mov ebx, dword [esp + 0x24]
mov edx, ebx
mov dword [esp + 0x20], ebx
test edx, edx
je 0x4e00a9
mov eax, dword [edx]
test eax, eax
je 0x4e00a9
xor edx, edx
cmp dword [eax], edx
cmovne edx, eax
jmp 0x4de6be
xor edx, edx
mov dword [esp + 0x24], edx
test ebx, ebx
jne 0x4de6c2
pop edi
pop esi
pop ebp
mov al, cl
pop ebx
add esp, 0x4c
ret