Function at 0x4de610
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 0x4e003c
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 0x4e0009
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 0x4de6a8
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 0x4de6a8
or ebp, 1
mov dword [esp + 0x1c], ebp
cmp byte [edi + 0x17e], 0
mov ebp, dword [esp + 0x64]
je 0x4de836
xor al, al
mov dword [ebp], 2
mov dword [ebp + 4], ebx
cmp dword [ebx + 0x3c], 0
mov byte [esp + 0x60], al
jbe 0x4de82d
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 0x4de6fa
sub eax, 1
jne 0x4de810
lea eax, [ebx + 0x5c]
jmp 0x4de6fd
lea eax, [ebx + 0x58]
mov esi, dword [eax]
mov dword [esp + 0x28], eax
test esi, esi
je 0x4de810
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 0x4de732
or ecx, 0xffffffff
mov dword [esp + 0x60], 0x40
or edx, 0xffffffff
jmp 0x4de757
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 0x4de7c2
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 0x4de7aa
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 0x4de814
mov al, byte [esp + 0x60]
inc edi
add ecx, 0x14
mov dword [esp + 0x14], ecx
cmp edi, dword [ebx + 0x3c]
jb 0x4de6e0
mov edi, dword [esp + 0x68]
mov esi, dword [esp + 0x34]
or al, byte [esp + 0x13]
setne byte [esp + 0x13]
test esi, esi
jne 0x4de84c
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4de84c
cmp byte [edi + 4], al
je 0x4de863
cmp byte [ebx + 0x44], al
je 0x4de863
push ebx
push ebp
call fcn.004e0360
add esp, 8
or al, byte [esp + 0x13]
mov eax, dword [esp + 0x1c]
setne byte [esp + 0x13]
cmp dword [ebx + 0x20], 4
jne 0x4de86f
cmp byte [edi + 5], 0
jne 0x4de8b8
test eax, eax
je 0x4de895
mov edx, dword [ebx + 0x3c]
xor ecx, ecx
test edx, edx
je 0x4de895
mov eax, dword [ebx + 0x38]
add eax, 0x10
cmp dword [eax], 0
je 0x4de891
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x4de882
jmp 0x4de895
test ecx, ecx
jns 0x4de8b8
cmp dword [ebx + 0x18], 4
jne 0x4de8a1
cmp byte [edi + 6], 0
jne 0x4de8b8
mov eax, dword [edi + 8]
test eax, eax
je 0x4de8d5
push dword [edi + 0x180]
push ebx
call eax
add esp, 8
test al, al
je 0x4de8d5
push ebx
push ebp
call fcn.004dd4f0
add esp, 8
test al, al
jne 0x4de8d0
cmp byte [esp + 0x13], al
mov byte [esp + 0x13], al
je 0x4de8d5
mov byte [esp + 0x13], 1
cmp dword [ebx + 0x18], 4
jne 0x4deaa0
cmp byte [edi + 0xc], 0
je 0x4deaa0
cmp dword [ebx + 0x20], 4
je 0x4deaa0
push ebx
call fcn.0040acc0
add esp, 4
test al, al
je 0x4de90c
mov dword [ebx + 0x18], 1
jmp 0x4dea9b
mov eax, dword [esp + 0x6c]
cmp byte [eax + 0x74], 0
je 0x4de9f1
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 0x4de954
mov dword [esp + 0x60], eax
jmp 0x4de973
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 0x4dea9b
mov eax, dword [ebx + 0x38]
add eax, 0x10
nop word [eax + eax]
cmp dword [eax], 0
je 0x4de9e2
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x4de9d0
jmp 0x4dea9b
cmp ecx, 0xffffffff
je 0x4dea9b
push dword [esp + 0x34]
jmp 0x4dea48
push ebx
push ebp
mov dword [ebx + 0x18], 1
call fcn.004ee0d0
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 0x4dea9b
mov eax, dword [ebx + 0x38]
add eax, 0x10
nop dword [eax]
cmp dword [eax], 0
je 0x4dea3f
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x4dea30
jmp 0x4dea9b
cmp ecx, 0xffffffff
je 0x4dea9b
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 0x4deac7
cmp byte [edi + 0xd], 0
jne 0x4deab8
cmp byte [ebx + 0x45], 0
je 0x4deac7
cmp byte [edi + 0xe], 0
je 0x4deac7
push ebx
push ebp
call fcn.004dcc40
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 0x4deb88
mov ecx, dword [ebx + 0x38]
add ecx, 0x10
nop dword [eax]
cmp dword [ecx], 0xb
je 0x4deb02
inc eax
add ecx, 0x14
cmp eax, esi
jb 0x4deaf0
jmp 0x4deb88
test eax, eax
js 0x4deb88
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 0x4deb5e
nop
mov eax, dword [ecx + 0x18]
cmp eax, 5
je 0x4deb7a
test eax, eax
jne 0x4deb40
xor ecx, ecx
jmp 0x4deb58
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 0x4deb30
mov ecx, dword [ecx + 0x24]
test ecx, ecx
je 0x4deb7a
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x60], ecx
cmp ecx, 0x20
jae 0x4deb82
mov edx, 1
shl edx, cl
jmp 0x4deb84
mov dword [esp + 0x60], 0
xor edx, edx
mov dword [esp + 0x14], edx
test dword [edi + 0x10], edx
je 0x4dec90
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e0630
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e0630
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 0x4debf6
mov dword [esp + 0x28], eax
jmp 0x4dec15
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.004dc8a0
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 0x4ded9a
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e0630
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e0630
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 0x4ded00
mov dword [esp + 0x28], eax
jmp 0x4ded1f
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.004dc8a0
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test dword [edi + 0x18], edx
je 0x4deeab
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e0630
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e0630
push edi
push 2
push ebx
push ebp
mov dword [esp + 0x5c], eax
call fcn.004e0630
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 0x4dee12
mov dword [esp + 0x28], eax
jmp 0x4dee2d
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.004dc8a0
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 0x4defb5
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e0630
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e0630
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 0x4def1b
mov dword [esp + 0x28], eax
jmp 0x4def3a
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.004dc8a0
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test dword [edi + 0x20], edx
je 0x4df0bd
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e0630
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e0630
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 0x4df023
mov dword [esp + 0x28], eax
jmp 0x4df042
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.004dc8a0
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 0x4df1ce
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e0630
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x4c], eax
call fcn.004e0630
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 0x4df12d
mov dword [esp + 0x28], eax
jmp 0x4df148
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.004dc8a0
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 0x4df2d5
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e0630
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x58], eax
call fcn.004e0630
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 0x4df23b
mov dword [esp + 0x28], eax
jmp 0x4df25a
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.004dc8a0
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test dword [edi + 0x2c], edx
je 0x4df390
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e0630
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.004dc8a0
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 0x4df394
mov esi, dword [esp + 0x18]
test dword [edi + 0x30], edx
je 0x4df48d
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e0630
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 0x4df3f3
mov dword [esp + 0x2c], eax
jmp 0x4df412
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.004dc8a0
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test dword [edi + 0x34], edx
je 0x4df58f
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e0630
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 0x4df4f0
mov dword [esp + 0x28], eax
jmp 0x4df50f
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.004dc8a0
mov edi, dword [esp + 0xb8]
lea esi, [ebp + 0x10]
add esp, 0x50
mov byte [esp + 0x13], 1
mov dword [esp + 0x18], esi
jmp 0x4df593
mov esi, dword [esp + 0x18]
mov ecx, dword [ebx + 0x58]
mov eax, 1
shl eax, cl
test dword [edi + 0x38], eax
je 0x4df692
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e0630
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 0x4df5fc
mov dword [esp + 0x28], eax
jmp 0x4df61b
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.004dc8a0
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 0x4df795
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e0630
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 0x4df6ff
mov dword [esp + 0x28], eax
jmp 0x4df71e
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.004dc8a0
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 0x4df84d
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e0630
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.004dc8a0
mov edi, dword [esp + 0x98]
add esp, 0x30
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4df86b
push eax
push ebx
push ebp
call fcn.004e07f0
mov ebx, eax
mov byte [esp + 0x1f], 1
add esp, 0xc
mov dword [esp + 0x20], ebx
cmp dword [ebx + 0x20], 0xa
jne 0x4df8c6
cmp byte [edi + 0x171], 0
je 0x4df8c6
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 0x4df8ff
push ebx
call fcn.0040acc0
add esp, 4
test al, al
jne 0x4df8ff
cmp byte [ebx + 0x45], al
je 0x4df8e6
cmp byte [ebx + 0x46], al
jne 0x4df8ff
mov eax, dword [ebx + 0x58]
add eax, 0x18
lea eax, [edi + eax*4]
push eax
push ebx
push ebp
call fcn.004e0a50
add esp, 0xc
mov byte [esp + 0x13], 1
test dword [edi + 0x160], esi
je 0x4df9f8
push ebx
call fcn.0040acc0
add esp, 4
test al, al
jne 0x4df9f8
cmp byte [ebx + 0x45], al
jne 0x4df9f8
mov dword [ebp + 4], ebx
add ebx, 0x24
mov dword [ebp], 3
mov dword [esp + 0x38], ebx
cmp byte [ebx + 0x10], 3
jne 0x4df940
mov eax, ebx
jmp 0x4df94c
push 7
push ebx
push ebp
call fcn.0040fc10
add esp, 0xc
push eax
push ebp
call fcn.004ee950
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 0x4dfa18
mov ecx, dword [ebx + 0x38]
add ecx, 0x10
cmp dword [ecx], 6
je 0x4dfb4f
inc eax
add ecx, 0x14
cmp eax, esi
jb 0x4dfa07
or eax, 0xffffffff
xor ecx, ecx
shr eax, 0x1f
xor al, 1
mov dword [esp + 0x60], eax
test esi, esi
je 0x4dfa3d
mov edx, dword [ebx + 0x38]
add edx, 0x10
cmp dword [edx], 3
je 0x4dfa40
inc ecx
add edx, 0x14
cmp ecx, esi
jb 0x4dfa30
or ecx, 0xffffffff
shr ecx, 0x1f
xor cl, 1
cmp dword [ebx + 0x20], 1
mov dword [esp + 0x38], ecx
jne 0x4dfa84
cmp byte [ebx + 0x45], 0
je 0x4dfa84
test al, al
je 0x4dfa84
cmp byte [edi + 0x16a], 0
je 0x4dfa84
push ebx
push ebp
mov dword [ebp], 2
mov dword [ebp + 4], ebx
call fcn.004ee080
push eax
push ebx
push ebp
call fcn.004dd480
add esp, 0x14
mov byte [esp + 0x13], 1
cmp dword [edi + 0x174], 0
je 0x4dfab3
mov eax, dword [ebx + 0x20]
cmp eax, 8
je 0x4dfab3
cmp eax, 0xb
je 0x4dfab3
cmp eax, 0xc
je 0x4dfab3
push edi
push ebx
push ebp
call fcn.004dd740
add esp, 0xc
or al, byte [esp + 0x13]
setne byte [esp + 0x13]
cmp dword [ebx + 0x20], 3
jne 0x4dfc20
cmp byte [edi + 0x168], 0
jne 0x4dfc0b
cmp byte [edi + 0x169], 0
mov eax, dword [esp + 0x60]
je 0x4dfadf
test al, al
jne 0x4dfc0b
cmp byte [edi + 0x167], 0
je 0x4dfaf2
cmp byte [ebx + 0x45], 0
jne 0x4dfc0b
cmp byte [edi + 0x16b], 0
je 0x4dfb09
cmp byte [ebx + 0x45], 0
je 0x4dfb09
test al, al
jne 0x4dfc0b
cmp byte [edi + 0x16c], 0
je 0x4dfb21
cmp byte [esp + 0x38], 0
je 0x4dfb21
test al, al
jne 0x4dfc0b
cmp byte [edi + 0x16d], 0
je 0x4dfb68
test al, al
je 0x4dfb68
mov esi, dword [ebx + 0x3c]
xor edx, edx
test esi, esi
je 0x4dfb68
mov ecx, dword [ebx + 0x38]
add ecx, 0x10
nop dword [eax]
cmp dword [ecx], 0x10
je 0x4dfb5f
inc edx
add ecx, 0x14
cmp edx, esi
jb 0x4dfb40
jmp 0x4dfb68
shr eax, 0x1f
xor al, 1
xor ecx, ecx
mov dword [esp + 0x60], eax
jmp 0x4dfa2a
cmp edx, 0xffffffff
jne 0x4dfc0b
cmp byte [edi + 0x16e], 0
je 0x4dfbde
test al, al
je 0x4dfbde
mov edx, dword [ebx + 0x3c]
xor eax, eax
mov esi, dword [ebx + 0x5c]
test edx, edx
je 0x4dfbd9
mov ecx, dword [ebx + 0x38]
add ecx, 0x10
cmp dword [ecx], 0xe
je 0x4dfb96
inc eax
add ecx, 0x14
cmp eax, edx
jb 0x4dfb87
jmp 0x4dfbd9
test eax, eax
js 0x4dfbd9
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 0x4dfc0b
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 0x4dfc0b
cmp byte [edi + 0x164], 0
je 0x4dfbed
cmp dword [ebx + 0x18], 3
je 0x4dfc0b
cmp byte [edi + 0x165], 0
je 0x4dfbfc
cmp dword [ebx + 0x18], 2
je 0x4dfc0b
cmp byte [edi + 0x166], 0
je 0x4dfc20
cmp byte [ebx + 0x44], 0
je 0x4dfc20
push ebx
push ebp
call fcn.004dce50
mov cl, 1
add esp, 8
mov byte [esp + 0x13], cl
jmp 0x4e0009
mov edx, dword [ebx + 0x3c]
xor ecx, ecx
test edx, edx
je 0x4dfc44
mov eax, dword [ebx + 0x38]
add eax, 0x10
nop
cmp dword [eax], 5
je 0x4dfc3f
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x4dfc30
jmp 0x4dfc44
cmp ecx, 0xffffffff
jne 0x4dfc6b
mov eax, dword [ebx + 0x20]
cmp eax, 4
je 0x4dffaa
cmp eax, 8
je 0x4dffaa
cmp eax, 2
je 0x4dffaa
cmp eax, 0xb
je 0x4dffaa
cmp byte [edi + 0x17d], 0
je 0x4dfd49
push ebx
call fcn.0040ac70
add esp, 4
test al, al
je 0x4dfd49
cmp dword [ebx + 0x18], 4
je 0x4dfd49
push dword [ebp + 0x10]
call fcn.0040a240
add esp, 4
test al, al
jne 0x4dfd49
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 0x4dfd10
call fcn.00409c50
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4dfcfd
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 0x4dfd41
call fcn.00409c50
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4dfd39
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.004dd480
add esp, 0xc
mov byte [esp + 0x13], 1
cmp byte [edi + 0x16f], 0
je 0x4dfd72
cmp dword [ebx + 0x20], 8
jne 0x4dfd72
push ebx
push ebp
call fcn.004e0050
add esp, 8
or al, byte [esp + 0x13]
setne cl
mov byte [esp + 0x13], cl
jmp 0x4e0009
cmp byte [edi + 0x170], 0
je 0x4dfe75
cmp dword [ebx + 0x20], 8
jne 0x4dfe75
cmp dword [ebx + 0x18], 3
jne 0x4dfe75
cmp byte [ebx + 0x44], 0
je 0x4dfe75
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 0x4dfdee
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 0x4e0009
cmp dword [ebx + 0x20], 0xa
jne 0x4dfeab
push ebx
call fcn.0040ac40
add esp, 4
test al, al
je 0x4dfeab
cmp byte [edi + 0x172], 0
je 0x4dfeab
push ebx
push ebp
call fcn.004ddac0
add esp, 8
or al, byte [esp + 0x13]
setne cl
mov byte [esp + 0x13], cl
jmp 0x4e0009
cmp byte [edi + 0x173], 0
je 0x4dff89
mov eax, dword [ebx + 0x20]
cmp eax, 5
jne 0x4dfed5
push ebx
push ebp
call fcn.004de160
mov cl, 1
add esp, 8
mov byte [esp + 0x13], cl
jmp 0x4e0009
cmp eax, 0xd
jne 0x4dff89
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 0x4dff5e
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 0x4e0009
cmp byte [edi + 0x17c], 0
je 0x4e0005
cmp dword [ebx + 0x20], 9
jne 0x4e0005
push ebx
push ebp
call fcn.004ddef0
mov cl, 1
add esp, 8
mov byte [esp + 0x13], cl
jmp 0x4e0009
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 0x4dfff1
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 0x4e0009
mov cl, byte [esp + 0x13]
mov ebx, dword [esp + 0x24]
mov edx, ebx
mov dword [esp + 0x20], ebx
test edx, edx
je 0x4e0029
mov eax, dword [edx]
test eax, eax
je 0x4e0029
xor edx, edx
cmp dword [eax], edx
cmovne edx, eax
jmp 0x4de63e
xor edx, edx
mov dword [esp + 0x24], edx
test ebx, ebx
jne 0x4de642
pop edi
pop esi
pop ebp
mov al, cl
pop ebx
add esp, 0x4c
ret