Function at 0x4de6c0
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 0x4e00ec
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 0x4e00b9
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 0x4de758
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 0x4de758
or ebp, 1
mov dword [esp + 0x1c], ebp
cmp byte [edi + 0x17e], 0
mov ebp, dword [esp + 0x64]
je 0x4de8e6
xor al, al
mov dword [ebp], 2
mov dword [ebp + 4], ebx
cmp dword [ebx + 0x3c], 0
mov byte [esp + 0x60], al
jbe 0x4de8dd
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 0x4de7aa
sub eax, 1
jne 0x4de8c0
lea eax, [ebx + 0x5c]
jmp 0x4de7ad
lea eax, [ebx + 0x58]
mov esi, dword [eax]
mov dword [esp + 0x28], eax
test esi, esi
je 0x4de8c0
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 0x4de7e2
or ecx, 0xffffffff
mov dword [esp + 0x60], 0x40
or edx, 0xffffffff
jmp 0x4de807
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 0x4de872
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 0x4de85a
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 0x4de8c4
mov al, byte [esp + 0x60]
inc edi
add ecx, 0x14
mov dword [esp + 0x14], ecx
cmp edi, dword [ebx + 0x3c]
jb 0x4de790
mov edi, dword [esp + 0x68]
mov esi, dword [esp + 0x34]
or al, byte [esp + 0x13]
setne byte [esp + 0x13]
test esi, esi
jne 0x4de8fc
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4de8fc
cmp byte [edi + 4], al
je 0x4de913
cmp byte [ebx + 0x44], al
je 0x4de913
push ebx
push ebp
call fcn.004e0410
add esp, 8
or al, byte [esp + 0x13]
mov eax, dword [esp + 0x1c]
setne byte [esp + 0x13]
cmp dword [ebx + 0x20], 4
jne 0x4de91f
cmp byte [edi + 5], 0
jne 0x4de968
test eax, eax
je 0x4de945
mov edx, dword [ebx + 0x3c]
xor ecx, ecx
test edx, edx
je 0x4de945
mov eax, dword [ebx + 0x38]
add eax, 0x10
cmp dword [eax], 0
je 0x4de941
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x4de932
jmp 0x4de945
test ecx, ecx
jns 0x4de968
cmp dword [ebx + 0x18], 4
jne 0x4de951
cmp byte [edi + 6], 0
jne 0x4de968
mov eax, dword [edi + 8]
test eax, eax
je 0x4de985
push dword [edi + 0x180]
push ebx
call eax
add esp, 8
test al, al
je 0x4de985
push ebx
push ebp
call fcn.004dd5a0
add esp, 8
test al, al
jne 0x4de980
cmp byte [esp + 0x13], al
mov byte [esp + 0x13], al
je 0x4de985
mov byte [esp + 0x13], 1
cmp dword [ebx + 0x18], 4
jne 0x4deb50
cmp byte [edi + 0xc], 0
je 0x4deb50
cmp dword [ebx + 0x20], 4
je 0x4deb50
push ebx
call fcn.0040acc0
add esp, 4
test al, al
je 0x4de9bc
mov dword [ebx + 0x18], 1
jmp 0x4deb4b
mov eax, dword [esp + 0x6c]
cmp byte [eax + 0x74], 0
je 0x4deaa1
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 0x4dea04
mov dword [esp + 0x60], eax
jmp 0x4dea23
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 0x4deb4b
mov eax, dword [ebx + 0x38]
add eax, 0x10
nop word [eax + eax]
cmp dword [eax], 0
je 0x4dea92
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x4dea80
jmp 0x4deb4b
cmp ecx, 0xffffffff
je 0x4deb4b
push dword [esp + 0x34]
jmp 0x4deaf8
push ebx
push ebp
mov dword [ebx + 0x18], 1
call fcn.004ee1c0
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 0x4deb4b
mov eax, dword [ebx + 0x38]
add eax, 0x10
nop dword [eax]
cmp dword [eax], 0
je 0x4deaef
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x4deae0
jmp 0x4deb4b
cmp ecx, 0xffffffff
je 0x4deb4b
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 0x4deb77
cmp byte [edi + 0xd], 0
jne 0x4deb68
cmp byte [ebx + 0x45], 0
je 0x4deb77
cmp byte [edi + 0xe], 0
je 0x4deb77
push ebx
push ebp
call fcn.004dccf0
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 0x4dec38
mov ecx, dword [ebx + 0x38]
add ecx, 0x10
nop dword [eax]
cmp dword [ecx], 0xb
je 0x4debb2
inc eax
add ecx, 0x14
cmp eax, esi
jb 0x4deba0
jmp 0x4dec38
test eax, eax
js 0x4dec38
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 0x4dec0e
nop
mov eax, dword [ecx + 0x18]
cmp eax, 5
je 0x4dec2a
test eax, eax
jne 0x4debf0
xor ecx, ecx
jmp 0x4dec08
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 0x4debe0
mov ecx, dword [ecx + 0x24]
test ecx, ecx
je 0x4dec2a
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x60], ecx
cmp ecx, 0x20
jae 0x4dec32
mov edx, 1
shl edx, cl
jmp 0x4dec34
mov dword [esp + 0x60], 0
xor edx, edx
mov dword [esp + 0x14], edx
test dword [edi + 0x10], edx
je 0x4ded40
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06e0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e06e0
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 0x4deca6
mov dword [esp + 0x28], eax
jmp 0x4decc5
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.004dc950
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 0x4dee4a
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06e0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e06e0
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 0x4dedb0
mov dword [esp + 0x28], eax
jmp 0x4dedcf
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.004dc950
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test dword [edi + 0x18], edx
je 0x4def5b
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06e0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e06e0
push edi
push 2
push ebx
push ebp
mov dword [esp + 0x5c], eax
call fcn.004e06e0
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 0x4deec2
mov dword [esp + 0x28], eax
jmp 0x4deedd
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.004dc950
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 0x4df065
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06e0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e06e0
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 0x4defcb
mov dword [esp + 0x28], eax
jmp 0x4defea
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.004dc950
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test dword [edi + 0x20], edx
je 0x4df16d
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06e0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.004e06e0
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 0x4df0d3
mov dword [esp + 0x28], eax
jmp 0x4df0f2
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.004dc950
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 0x4df27e
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06e0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x4c], eax
call fcn.004e06e0
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 0x4df1dd
mov dword [esp + 0x28], eax
jmp 0x4df1f8
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.004dc950
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 0x4df385
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06e0
push edi
push 1
push ebx
push ebp
mov dword [esp + 0x58], eax
call fcn.004e06e0
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 0x4df2eb
mov dword [esp + 0x28], eax
jmp 0x4df30a
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.004dc950
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test dword [edi + 0x2c], edx
je 0x4df440
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06e0
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.004dc950
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 0x4df444
mov esi, dword [esp + 0x18]
test dword [edi + 0x30], edx
je 0x4df53d
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06e0
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 0x4df4a3
mov dword [esp + 0x2c], eax
jmp 0x4df4c2
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.004dc950
mov edi, dword [esp + 0xb8]
add esp, 0x50
mov edx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test dword [edi + 0x34], edx
je 0x4df63f
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06e0
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 0x4df5a0
mov dword [esp + 0x28], eax
jmp 0x4df5bf
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.004dc950
mov edi, dword [esp + 0xb8]
lea esi, [ebp + 0x10]
add esp, 0x50
mov byte [esp + 0x13], 1
mov dword [esp + 0x18], esi
jmp 0x4df643
mov esi, dword [esp + 0x18]
mov ecx, dword [ebx + 0x58]
mov eax, 1
shl eax, cl
test dword [edi + 0x38], eax
je 0x4df742
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06e0
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 0x4df6ac
mov dword [esp + 0x28], eax
jmp 0x4df6cb
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.004dc950
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 0x4df845
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06e0
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 0x4df7af
mov dword [esp + 0x28], eax
jmp 0x4df7ce
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.004dc950
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 0x4df8fd
push edi
push 0
push ebx
push ebp
mov dword [ebp], 3
mov dword [ebp + 4], ebx
call fcn.004e06e0
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.004dc950
mov edi, dword [esp + 0x98]
add esp, 0x30
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4df91b
push eax
push ebx
push ebp
call fcn.004e08a0
mov ebx, eax
mov byte [esp + 0x1f], 1
add esp, 0xc
mov dword [esp + 0x20], ebx
cmp dword [ebx + 0x20], 0xa
jne 0x4df976
cmp byte [edi + 0x171], 0
je 0x4df976
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 0x4df9af
push ebx
call fcn.0040acc0
add esp, 4
test al, al
jne 0x4df9af
cmp byte [ebx + 0x45], al
je 0x4df996
cmp byte [ebx + 0x46], al
jne 0x4df9af
mov eax, dword [ebx + 0x58]
add eax, 0x18
lea eax, [edi + eax*4]
push eax
push ebx
push ebp
call fcn.004e0b00
add esp, 0xc
mov byte [esp + 0x13], 1
test dword [edi + 0x160], esi
je 0x4dfaa8
push ebx
call fcn.0040acc0
add esp, 4
test al, al
jne 0x4dfaa8
cmp byte [ebx + 0x45], al
jne 0x4dfaa8
mov dword [ebp + 4], ebx
add ebx, 0x24
mov dword [ebp], 3
mov dword [esp + 0x38], ebx
cmp byte [ebx + 0x10], 3
jne 0x4df9f0
mov eax, ebx
jmp 0x4df9fc
push 7
push ebx
push ebp
call fcn.0040fc10
add esp, 0xc
push eax
push ebp
call fcn.004eea40
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 0x4dfac8
mov ecx, dword [ebx + 0x38]
add ecx, 0x10
cmp dword [ecx], 6
je 0x4dfbff
inc eax
add ecx, 0x14
cmp eax, esi
jb 0x4dfab7
or eax, 0xffffffff
xor ecx, ecx
shr eax, 0x1f
xor al, 1
mov dword [esp + 0x60], eax
test esi, esi
je 0x4dfaed
mov edx, dword [ebx + 0x38]
add edx, 0x10
cmp dword [edx], 3
je 0x4dfaf0
inc ecx
add edx, 0x14
cmp ecx, esi
jb 0x4dfae0
or ecx, 0xffffffff
shr ecx, 0x1f
xor cl, 1
cmp dword [ebx + 0x20], 1
mov dword [esp + 0x38], ecx
jne 0x4dfb34
cmp byte [ebx + 0x45], 0
je 0x4dfb34
test al, al
je 0x4dfb34
cmp byte [edi + 0x16a], 0
je 0x4dfb34
push ebx
push ebp
mov dword [ebp], 2
mov dword [ebp + 4], ebx
call fcn.004ee170
push eax
push ebx
push ebp
call fcn.004dd530
add esp, 0x14
mov byte [esp + 0x13], 1
cmp dword [edi + 0x174], 0
je 0x4dfb63
mov eax, dword [ebx + 0x20]
cmp eax, 8
je 0x4dfb63
cmp eax, 0xb
je 0x4dfb63
cmp eax, 0xc
je 0x4dfb63
push edi
push ebx
push ebp
call fcn.004dd7f0
add esp, 0xc
or al, byte [esp + 0x13]
setne byte [esp + 0x13]
cmp dword [ebx + 0x20], 3
jne 0x4dfcd0
cmp byte [edi + 0x168], 0
jne 0x4dfcbb
cmp byte [edi + 0x169], 0
mov eax, dword [esp + 0x60]
je 0x4dfb8f
test al, al
jne 0x4dfcbb
cmp byte [edi + 0x167], 0
je 0x4dfba2
cmp byte [ebx + 0x45], 0
jne 0x4dfcbb
cmp byte [edi + 0x16b], 0
je 0x4dfbb9
cmp byte [ebx + 0x45], 0
je 0x4dfbb9
test al, al
jne 0x4dfcbb
cmp byte [edi + 0x16c], 0
je 0x4dfbd1
cmp byte [esp + 0x38], 0
je 0x4dfbd1
test al, al
jne 0x4dfcbb
cmp byte [edi + 0x16d], 0
je 0x4dfc18
test al, al
je 0x4dfc18
mov esi, dword [ebx + 0x3c]
xor edx, edx
test esi, esi
je 0x4dfc18
mov ecx, dword [ebx + 0x38]
add ecx, 0x10
nop dword [eax]
cmp dword [ecx], 0x10
je 0x4dfc0f
inc edx
add ecx, 0x14
cmp edx, esi
jb 0x4dfbf0
jmp 0x4dfc18
shr eax, 0x1f
xor al, 1
xor ecx, ecx
mov dword [esp + 0x60], eax
jmp 0x4dfada
cmp edx, 0xffffffff
jne 0x4dfcbb
cmp byte [edi + 0x16e], 0
je 0x4dfc8e
test al, al
je 0x4dfc8e
mov edx, dword [ebx + 0x3c]
xor eax, eax
mov esi, dword [ebx + 0x5c]
test edx, edx
je 0x4dfc89
mov ecx, dword [ebx + 0x38]
add ecx, 0x10
cmp dword [ecx], 0xe
je 0x4dfc46
inc eax
add ecx, 0x14
cmp eax, edx
jb 0x4dfc37
jmp 0x4dfc89
test eax, eax
js 0x4dfc89
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 0x4dfcbb
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 0x4dfcbb
cmp byte [edi + 0x164], 0
je 0x4dfc9d
cmp dword [ebx + 0x18], 3
je 0x4dfcbb
cmp byte [edi + 0x165], 0
je 0x4dfcac
cmp dword [ebx + 0x18], 2
je 0x4dfcbb
cmp byte [edi + 0x166], 0
je 0x4dfcd0
cmp byte [ebx + 0x44], 0
je 0x4dfcd0
push ebx
push ebp
call fcn.004dcf00
mov cl, 1
add esp, 8
mov byte [esp + 0x13], cl
jmp 0x4e00b9
mov edx, dword [ebx + 0x3c]
xor ecx, ecx
test edx, edx
je 0x4dfcf4
mov eax, dword [ebx + 0x38]
add eax, 0x10
nop
cmp dword [eax], 5
je 0x4dfcef
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x4dfce0
jmp 0x4dfcf4
cmp ecx, 0xffffffff
jne 0x4dfd1b
mov eax, dword [ebx + 0x20]
cmp eax, 4
je 0x4e005a
cmp eax, 8
je 0x4e005a
cmp eax, 2
je 0x4e005a
cmp eax, 0xb
je 0x4e005a
cmp byte [edi + 0x17d], 0
je 0x4dfdf9
push ebx
call fcn.0040ac70
add esp, 4
test al, al
je 0x4dfdf9
cmp dword [ebx + 0x18], 4
je 0x4dfdf9
push dword [ebp + 0x10]
call fcn.0040a240
add esp, 4
test al, al
jne 0x4dfdf9
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 0x4dfdc0
call fcn.00409c50
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4dfdad
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 0x4dfdf1
call fcn.00409c50
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4dfde9
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.004dd530
add esp, 0xc
mov byte [esp + 0x13], 1
cmp byte [edi + 0x16f], 0
je 0x4dfe22
cmp dword [ebx + 0x20], 8
jne 0x4dfe22
push ebx
push ebp
call fcn.004e0100
add esp, 8
or al, byte [esp + 0x13]
setne cl
mov byte [esp + 0x13], cl
jmp 0x4e00b9
cmp byte [edi + 0x170], 0
je 0x4dff25
cmp dword [ebx + 0x20], 8
jne 0x4dff25
cmp dword [ebx + 0x18], 3
jne 0x4dff25
cmp byte [ebx + 0x44], 0
je 0x4dff25
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 0x4dfe9e
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 0x4e00b9
cmp dword [ebx + 0x20], 0xa
jne 0x4dff5b
push ebx
call fcn.0040ac40
add esp, 4
test al, al
je 0x4dff5b
cmp byte [edi + 0x172], 0
je 0x4dff5b
push ebx
push ebp
call fcn.004ddb70
add esp, 8
or al, byte [esp + 0x13]
setne cl
mov byte [esp + 0x13], cl
jmp 0x4e00b9
cmp byte [edi + 0x173], 0
je 0x4e0039
mov eax, dword [ebx + 0x20]
cmp eax, 5
jne 0x4dff85
push ebx
push ebp
call fcn.004de210
mov cl, 1
add esp, 8
mov byte [esp + 0x13], cl
jmp 0x4e00b9
cmp eax, 0xd
jne 0x4e0039
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 0x4e000e
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 0x4e00b9
cmp byte [edi + 0x17c], 0
je 0x4e00b5
cmp dword [ebx + 0x20], 9
jne 0x4e00b5
push ebx
push ebp
call fcn.004ddfa0
mov cl, 1
add esp, 8
mov byte [esp + 0x13], cl
jmp 0x4e00b9
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 0x4e00a1
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 0x4e00b9
mov cl, byte [esp + 0x13]
mov ebx, dword [esp + 0x24]
mov edx, ebx
mov dword [esp + 0x20], ebx
test edx, edx
je 0x4e00d9
mov eax, dword [edx]
test eax, eax
je 0x4e00d9
xor edx, edx
cmp dword [eax], edx
cmovne edx, eax
jmp 0x4de6ee
xor edx, edx
mov dword [esp + 0x24], edx
test ebx, ebx
jne 0x4de6f2
pop edi
pop esi
pop ebp
mov al, cl
pop ebx
add esp, 0x4c
ret