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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x23
push 0
push 0
dec ecx
jne 0x4f1485
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4f30ef
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ecx
call fcn.004ea3c8
mov ebx, eax
test ebx, ebx
je 0x4f305a
mov eax, dword [0x52c4a4]
mov dword [ebx + 0x18], eax
mov eax, dword [0x52c4a8]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebx + 0x2c]
call fcn.00413e3c
cmp eax, 8
jge 0x4f14de
mov eax, 0x20
jmp 0x4f14fe
mov edi, dword [ebx + 0x2c]
mov esi, dword [edi + 4]
mov eax, edi
call fcn.00413e3c
push eax
mov eax, dword [esi + 4]
pop edx
sub eax, edx
cmp eax, 0x1000
jle 0x4f14fe
mov eax, 0x1000
lea edx, [ebx + 0x79]
mov ecx, dword [ebx + 0x28]
xchg ecx, eax
call fcn.004aa8e0
mov edi, eax
test edi, edi
jle 0x4f305a
lea esi, [ebx + 0x79]
mov eax, dword [ebx + 0x2c]
call fcn.00413e3c
test eax, eax
jg 0x4f152b
cmp dword [esi], 0x13572469
jne 0x4f14b8
lea edx, [ebx + 0x79]
mov eax, dword [ebx + 0x2c]
mov ecx, edi
mov esi, dword [eax]
call dword [esi + 8]
mov edi, dword [ebx + 0x2c]
mov esi, dword [edi + 4]
mov eax, edi
call fcn.00413e3c
test eax, eax
jle 0x4f305a
mov eax, dword [ebx + 0x2c]
call fcn.00413e3c
cmp eax, dword [esi + 4]
jl 0x4f3049
call fcn.004ed370
xor edx, edx
push ebp
push 0x4f3042
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, dword [esi + 4]
mov eax, esi
call fcn.00465eb0
test al, al
jne 0x4f3025
cmp byte [esi + 0xd], 0xd
jne 0x4f15ad
mov ecx, dword [esi + 0x10]
lea eax, [ebx + 0x40]
mov edx, 0xa
call fcn.0046772c
mov eax, dword [ebx + 0x2c]
xor edx, edx
call fcn.00413e4c
call fcn.00403724
jmp 0x4f305a
mov dl, 1
mov eax, dword [0x4655b0]
call fcn.00402ebc
mov dword [ebp - 0xc], eax
xor edx, edx
push ebp
push 0x4f301e
push dword fs:[edx]
mov dword fs:[edx], esp
mov esi, dword [ebx + 0x2c]
mov eax, esi
call fcn.00413e3c
mov ecx, eax
mov edx, dword [esi + 4]
mov eax, dword [ebp - 0xc]
mov esi, dword [eax]
call dword [esi + 8]
mov eax, dword [ebx + 0x2c]
call fcn.00413e58
cmp eax, 0x4000
jle 0x4f15fc
mov eax, dword [ebx + 0x2c]
mov edx, 0x4000
mov ecx, dword [eax]
call dword [ecx]
mov eax, dword [ebx + 0x2c]
xor edx, edx
call fcn.00413e4c
mov eax, dword [ebp - 0xc]
mov esi, dword [eax + 4]
cmp byte [esi + 0xe], 0
je 0x4f161c
mov edx, dword [esi + 8]
mov eax, ebx
call fcn.004ea37c
cmp byte [0x52c544], 0
jne case.0x4f2652.211
mov edx, dword [esi + 8]
mov eax, dword [ebx + 0x30]
call fcn.004119b8
test eax, eax
jge case.0x4f2652.211
mov edx, dword [esi + 8]
mov eax, dword [ebx + 0x30]
call fcn.00411800
mov eax, dword [ebx + 0x30]
cmp dword [eax + 8], 0x64
jle 0x4f1657
xor edx, edx
call fcn.0041184c
cmp byte [esi + 0xd], 0xa
jne 0x4f2456
xor eax, eax
mov al, byte [esi + 0xc]
cmp eax, 0xbb
jg 0x4f16c2
je case.0x4f16d0.189
cmp eax, 0x8c
jg 0x4f16a0
je 0x4f1def
sub eax, 0x65
je 0x4f1737
sub eax, 0x11
je 0x4f1da3
sub eax, 3
je 0x4f1dbe
jmp case.0x4f2652.211
sub eax, 0x91
je 0x4f2202
sub eax, 3
je 0x4f23e2
sub eax, 8
je 0x4f23eb
jmp case.0x4f2652.211
add eax, 0xffffff43
cmp eax, 0x17
ja case.0x4f2652.211
jmp dword [eax*4 + 0x4f16d7]
mov eax, dword [0x52cbc0]
cmp dword [eax + 4], 0
jne 0x4f174d
cmp dword [eax], 0
jbe case.0x4f2652.211
jmp 0x4f1753
jle case.0x4f2652.211
mov al, byte [0x4f3100]
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x80]
lea edx, [esi + 0x20]
mov ecx, 0x400
call fcn.00403e68
mov eax, dword [ebp - 0x80]
mov ecx, 0x4f310c
mov edx, 0x4f3118
call fcn.0040d454
mov edx, dword [ebp - 0x7c]
lea eax, [ebx + 4]
call fcn.00403c8c
call fcn.0040a48c
fsub qword [0x558df8]
fstp qword [ebx + 0x20]
wait
lea ecx, [ebp - 0x84]
mov eax, dword [ebx + 0x34]
xor edx, edx
call fcn.00465834
mov edx, dword [ebp - 0x84]
lea eax, [ebx + 8]
call fcn.00403c8c
lea edx, [ebp - 0x88]
lea eax, [esi + 0x40]
call fcn.004098dc
mov edx, dword [ebp - 0x88]
lea eax, [ebx + 0xc]
call fcn.00403c8c
mov edx, dword [ebx + 0xc]
mov eax, 0x4f3124
call fcn.004041a4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x4f17f0
mov dword [ebp - 0x14], 0x3e8
lea eax, [ebx + 0x10]
push eax
mov edx, dword [ebp - 0x14]
inc edx
mov eax, dword [ebx + 0xc]
mov ecx, 0x3e8
call fcn.004040c0
lea eax, [ebx + 0xc]
mov ecx, 0x3e8
mov edx, dword [ebp - 0x14]
call fcn.00404100
lea edi, [esi + 0x40]
mov eax, edi
call fcn.0040968c
inc eax
add edi, eax
mov eax, edi
call fcn.0040968c
lea edx, [ebp - 0x38]
mov eax, dword [ebx + 4]
call fcn.004f139c
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
call fcn.004e8544
cmp dword [ebp - 0x1c], 0
je 0x4f1850
lea eax, [ebx + 4]
mov edx, dword [ebp - 0x1c]
call fcn.00403c8c
cmp byte [0x52c514], 0
je 0x4f1865
mov eax, ebx
mov edx, dword [ebx + 8]
call fcn.00403c8c
jmp 0x4f186f
mov eax, ebx
mov edx, dword [ebx + 4]
call fcn.00403c8c
mov eax, dword [ebx]
call fcn.004ea3f8
mov edi, eax
test edi, edi
je 0x4f18c1
cmp ebx, edi
je 0x4f18c1
fld qword [edi + 0x20]
fcomp dword [0x4f3128]
fnstsw ax
sahf
jbe 0x4f18a2
mov eax, dword [edi + 0x20]
mov dword [ebx + 0x20], eax
mov eax, dword [edi + 0x24]
mov dword [ebx + 0x24], eax
xor eax, eax
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], eax
mov eax, edi
mov edx, 0x4f3134
call fcn.00403c8c
cmp byte [edi + 0x78], 2
je 0x4f18c1
mov ecx, dword [edi + 0x28]
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004f32b0
mov edx, dword [ebx]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3b4]
call fcn.004ac20c
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jl 0x4f18ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3b4]
mov edx, dword [ebp - 0x14]
call fcn.004ac1a4
mov edi, eax
lea eax, [ebp - 0x3c]
mov edx, dword [edi + 4]
call fcn.00403cd0
mov byte [ebx + 0x107a], 0xff
cmp byte [ebx + 0x78], 1
je 0x4f1c08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov eax, dword [eax + 0x1f0]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edi, eax
call fcn.004ec794
cmp edi, eax
jl 0x4f1965
cmp byte [0x52c4c8], 0
jne 0x4f193b
mov eax, dword [0x52cf34]
cmp byte [eax], 0
je 0x4f1956
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, 0x98
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004ec284
call fcn.00403724
call fcn.00403724
jmp 0x4f305a
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x6c], eax
cmp eax, 0x3500000
jge 0x4f1994
mov eax, 0x558de8
mov edx, dword [0x52c65c]
mov edx, dword [edx]
mov edx, dword [edx + 0x800]
call fcn.00403df0
mov dword [0x52c538], 0x64
mov byte [ebx + 0x78], 1
mov edx, dword [ebx]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov eax, dword [eax + 0x1f0]
call fcn.004f1248
mov dword [ebp - 0x14], eax
cmp byte [ebx + 0x107a], 0
je 0x4f19eb
mov edx, dword [ebx]
lea eax, [ebp - 0x8c]
mov ecx, 0x4f3144
call fcn.00403f04
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov eax, dword [eax + 0x1f0]
mov edx, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0x54]
jmp 0x4f1a04
mov ecx, dword [ebx]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov eax, dword [eax + 0x1f0]
mov edx, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0x54]
mov ecx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov eax, dword [eax + 0x1f0]
mov edx, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0x24]
mov eax, dword [0x52c604]
cmp dword [eax], 0
je 0x4f1a38
mov eax, dword [0x52c604]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x14]
mov edx, ebx
call fcn.004e3524
mov eax, dword [0x52cf24]
cmp dword [eax], 0
je 0x4f1a53
mov eax, dword [0x52cf24]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x14]
mov edx, ebx
call fcn.004c8fc8
lea eax, [ebp - 0x90]
mov edx, dword [0x52c65c]
mov edx, dword [edx]
mov edx, dword [edx + 0x280]
call fcn.00403df0
lea eax, [ebp - 0x90]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov eax, dword [eax + 0x1f0]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x94]
call fcn.00408e3c
mov edx, dword [ebp - 0x94]
pop eax
call fcn.00403ec0
mov eax, dword [ebp - 0x90]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38c]
mov eax, dword [eax + 0x1f0]
mov edx, 2
call fcn.0046fd7c
pop edx
call fcn.0046fcf4
mov eax, dword [ebx + 4]
call fcn.004f12f8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jge 0x4f1b09
push dword [ebx + 4]
push 0x4f3154
push dword [ebx + 8]
lea eax, [ebp - 0x98]
mov edx, 3
call fcn.00403f78
mov edx, dword [ebp - 0x98]
mov eax, dword [0x558da0]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov byte [0x52c4e8], 1
jmp 0x4f1b81
lea ecx, [ebp - 0x9c]
mov edx, dword [ebp - 0x18]
mov eax, dword [0x558da0]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x9c]
push eax
push dword [ebx + 4]
push 0x4f3154
push dword [ebx + 8]
lea eax, [ebp - 0xa0]
mov edx, 3
call fcn.00403f78
mov edx, dword [ebp - 0xa0]
pop eax
call fcn.00403fc8
je 0x4f1b81
push dword [ebx + 4]
push 0x4f3154
push dword [ebx + 8]
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00403f78
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x18]
mov eax, dword [0x558da0]
mov edi, dword [eax]
call dword [edi + 0x20]
mov byte [0x52c4e8], 1
lea eax, [ebp - 0xa8]
mov edx, dword [0x52c65c]
mov edx, dword [edx]
mov edx, dword [edx + 0x39c]
call fcn.00403df0
lea eax, [ebp - 0xa8]
push eax
mov eax, dword [0x558da0]
mov edx, dword [eax]
call dword [edx + 0x14]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov eax, dword [eax + 0x1f0]
mov edx, dword [eax]
call dword [edx + 0x14]
pop edx
xchg edx, eax
sub eax, edx
lea edx, [ebp - 0xac]
call fcn.00408e3c
mov edx, dword [ebp - 0xac]
pop eax
call fcn.00403ec0
mov eax, dword [ebp - 0xa8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38c]
mov eax, dword [eax + 0x1f0]
mov edx, 4
call fcn.0046fd7c
pop edx
call fcn.0046fcf4
mov eax, dword [ebx]
call fcn.004d7b58
mov edi, 0x53000000
mov eax, dword [0x52d05c]
cmp dword [eax + 4], 0
jne 0x4f1c1f
cmp dword [eax], 0
jae 0x4f1c27
jmp 0x4f1c21
jge 0x4f1c27
add edi, 0x800
cmp byte [0x52c48c], 0
jne 0x4f1c36
add edi, 0x4000
mov eax, dword [0x52cccc]
mov eax, dword [eax]
call eax
test eax, eax
je 0x4f1c49
add edi, 0x80000
mov eax, dword [0x558ddc]
cmp dword [eax + 8], 1
jle 0x4f1c9d
mov eax, dword [0x558ddc]
mov eax, dword [eax + 8]
call fcn.00402bec
mov dword [ebp - 0xb0], eax
fild dword [ebp - 0xb0]
call fcn.00402a18
mov edx, eax
mov eax, dword [0x558ddc]
call fcn.0041195c
push eax
movsx eax, word [0x52c480]
push eax
push edi
push 0x410006c
xor ecx, ecx
mov edx, 0x97
mov eax, ebx
call fcn.004ea2c4
jmp 0x4f1cbf
mov eax, dword [0x52c51c]
push eax
movsx eax, word [0x52c480]
push eax
push edi
push 0x410006c
xor ecx, ecx
mov edx, 0x97
mov eax, ebx
call fcn.004ea2c4
cmp dword [ebx + 0x6c], 0x3500000
jl 0x4f1ce4
mov eax, dword [0x52c4e4]
sub eax, dword [esi + 0x1c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jle 0x4f1ce4
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004f1024
mov eax, dword [esi + 0x14]
mov edx, eax
and edx, 0xffff0000
cmp edx, 0x53530000
jne 0x4f1d32
test al, 0x10
je 0x4f1d32
mov eax, dword [0x52d05c]
cmp dword [eax + 4], 0
jne 0x4f1d0d
cmp dword [eax], 0
jbe 0x4f1d2b
jmp 0x4f1d0f
jle 0x4f1d2b
mov eax, dword [0x52c548]
mov edx, dword [eax + 4]
mov eax, ebx
call fcn.004ea160
test eax, eax
je 0x4f1d32
mov byte [ebx + 0x107b], 0xff
jmp 0x4f1d32
mov byte [ebx + 0x107b], 0xff
lea eax, [ebp - 0x2c]
mov edx, dword [ebp - 0x38]
call fcn.00403cd0
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x2c]
call fcn.004e85b4
cmp byte [ebx + 0x107a], 0
je 0x4f1d6e
push 1
push 0
push 0
mov eax, dword [ebp - 0x3c]
push eax
push 0
push 0
mov ecx, 0x89
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004ec284
mov eax, ebx
call fcn.004dce98
cmp dword [ebx + 0x1088], 0
je case.0x4f2652.211
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov cl, 1
mov edx, dword [ebp - 0x14]
call fcn.004a810c
mov byte [ebx + 0x77], 0xff
call fcn.004eb970
jmp case.0x4f2652.211
mov eax, dword [esi + 0x10]
mov edx, dword [0x52cef0]
cmp eax, dword [edx + 0xe]
jne case.0x4f2652.211
mov byte [ebx + 0x76], 0
jmp case.0x4f2652.211
mov eax, dword [esi + 0x10]
mov edx, dword [0x52cef0]
cmp eax, dword [edx + 0xe]
jne case.0x4f2652.211
mov byte [ebx + 0x76], 0
cmp byte [ebx + 0x1079], 0
je case.0x4f2652.211
xor edx, edx
mov eax, ebx
call fcn.004f11f8
jmp case.0x4f2652.211
cmp byte [0x52c490], 0
jne case.0x4f2652.211
mov eax, dword [0x52cf08]
cmp dword [eax], 0
jne 0x4f1e2a
mov ecx, dword [0x52cf08]
mov eax, dword [0x52cc98]
mov eax, dword [eax]
mov edx, dword [0x4d7580]
call fcn.00451be0
mov eax, dword [0x52cf08]
mov eax, dword [eax]
call fcn.004d7754
mov edx, dword [0x52cdd4]
mov edx, dword [edx]
lea eax, [ebp - 0xb4]
mov ecx, 0x4f3160
call fcn.00403f04
mov eax, dword [ebp - 0xb4]
call fcn.00409114
test al, al
je 0x4f1e8e
mov edx, dword [0x52cdd4]
mov edx, dword [edx]
lea eax, [ebp - 0xbc]
mov ecx, 0x4f3160
call fcn.00403f04
mov edx, dword [ebp - 0xbc]
lea eax, [ebp - 0xb8]
call fcn.004043c0
mov eax, dword [ebp - 0xb8]
mov dx, 2
call fcn.00465f30
mov dword [ebp - 0x40], eax
jmp 0x4f1ec9
mov edx, dword [0x52cdd4]
mov edx, dword [edx]
lea eax, [ebp - 0xc4]
mov ecx, 0x4f3160
call fcn.00403f04
mov edx, dword [ebp - 0xc4]
lea eax, [ebp - 0xc0]
call fcn.004043c0
mov eax, dword [ebp - 0xc0]
mov dx, 0xffff
call fcn.00465f30
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
je 0x4f1ee1
mov eax, dword [ebp - 0x40]
call fcn.004641d8
push edx
push eax
mov eax, dword [ebp - 0x40]
call fcn.0046424c
lea eax, [ebp - 0x1c]
mov edx, dword [0x52c65c]
mov edx, dword [edx]
mov edx, dword [edx + 0x374]
call fcn.00403df0
call fcn.0040a42c
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0xcc]
call fcn.0040b088
push dword [ebp - 0xcc]
push 0x4f3118
call fcn.0040a458
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0xd0]
call fcn.0040b0a0
push dword [ebp - 0xd0]
lea eax, [ebp - 0xc8]
mov edx, 3
call fcn.00403f78
mov ecx, dword [ebp - 0xc8]
lea eax, [ebp - 0x1c]
mov edx, 0x4f3174
call fcn.004cb12c
mov eax, dword [0x52cf08]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x34]
cmp dword [ebp - 0x40], 0
je 0x4f1fa8
mov eax, dword [ebp - 0x1c]
call fcn.00403eb8
push eax
lea eax, [ebp - 0x1c]
call fcn.00404088
mov edx, eax
mov eax, dword [ebp - 0x40]
pop ecx
mov edi, dword [eax]
call dword [edi + 8]
mov ecx, 2
mov edx, 0x4f3180
mov eax, dword [ebp - 0x40]
mov edi, dword [eax]
call dword [edi + 8]
lea eax, [ebp - 0x1c]
mov edx, dword [0x52c65c]
mov edx, dword [edx]
mov edx, dword [edx + 0x378]
call fcn.00403df0
mov ecx, dword [ebx]
lea eax, [ebp - 0x1c]
mov edx, 0x4f3174
call fcn.004cb12c
lea edx, [ebp - 0xd4]
mov eax, dword [ebx + 0x28]
call fcn.004aa0c4
mov ecx, dword [ebp - 0xd4]
lea eax, [ebp - 0x1c]
mov edx, 0x4f318c
call fcn.004cb12c
mov eax, dword [0x52cf08]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x34]
cmp dword [ebp - 0x40], 0
je 0x4f203d
mov eax, dword [ebp - 0x1c]
call fcn.00403eb8
push eax
lea eax, [ebp - 0x1c]
call fcn.00404088
mov edx, eax
mov eax, dword [ebp - 0x40]
pop ecx
mov edi, dword [eax]
call dword [edi + 8]
mov ecx, 2
mov edx, 0x4f3180
mov eax, dword [ebp - 0x40]
mov edi, dword [eax]
call dword [edi + 8]
lea edx, [ebp - 0x1c]
lea eax, [esi + 0x20]
call fcn.004098dc
mov eax, dword [0x52cf08]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x34]
cmp dword [ebp - 0x40], 0
je 0x4f2097
mov eax, dword [ebp - 0x1c]
call fcn.00403eb8
push eax
lea eax, [ebp - 0x1c]
call fcn.00404088
mov edx, eax
mov eax, dword [ebp - 0x40]
pop ecx
mov esi, dword [eax]
call dword [esi + 8]
mov ecx, 2
mov edx, 0x4f3180
mov eax, dword [ebp - 0x40]
mov esi, dword [eax]
call dword [esi + 8]
mov eax, dword [0x52cf08]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x34]
cmp dword [ebp - 0x40], 0
je 0x4f20d1
mov ecx, 2
mov edx, 0x4f3180
mov eax, dword [ebp - 0x40]
mov esi, dword [eax]
call dword [esi + 8]
mov eax, dword [ebp - 0x40]
call fcn.00402eec
mov eax, dword [0x52cc98]
mov eax, dword [eax]
call fcn.004517d0
mov eax, dword [0x52cf08]
mov eax, dword [eax]
call fcn.0044eb84
mov edx, dword [0x52cdd4]
mov edx, dword [edx]
lea eax, [ebp - 0x1c]
mov ecx, 0x4f3198
call fcn.00403f04
mov eax, dword [ebp - 0x1c]
call fcn.00409114
test al, al
je case.0x4f2652.211
mov eax, dword [0x52c884]
cmp dword [eax], 0
jne case.0x4f2652.211
mov dl, 1
mov eax, dword [0x410254]
call fcn.00402ebc
mov edx, dword [0x52ca28]
mov dword [edx], eax
mov eax, dword [0x52ca28]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x1c]
mov edx, dword [ebx]
call fcn.00403cd0
jmp 0x4f21a6
mov eax, dword [0x52cdd4]
push dword [eax]
push 0x4f31b0
lea eax, [ebp - 0xdc]
mov edx, dword [ebp - 0x1c]
mov dl, byte [edx]
call fcn.00403de0
push dword [ebp - 0xdc]
push 0x4f31c0
lea eax, [ebp - 0xd8]
mov edx, 4
call fcn.00403f78
mov edx, dword [ebp - 0xd8]
mov eax, dword [0x52ca28]
mov eax, dword [eax]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x1c]
mov ecx, 1
mov edx, 1
call fcn.00404100
mov eax, dword [ebp - 0x1c]
call fcn.00403eb8
test eax, eax
jg 0x4f214b
mov edx, dword [0x52cdd4]
mov edx, dword [edx]
lea eax, [ebp - 0xe0]
mov ecx, 0x4f31d0
call fcn.00403f04
mov edx, dword [ebp - 0xe0]
mov eax, dword [0x52ca28]
mov eax, dword [eax]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [0x52c880]
mov dword [eax], 2
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4e2000]
call fcn.00418a60
mov edx, dword [0x52c884]
mov dword [edx], eax
jmp case.0x4f2652.211
call fcn.0040a42c
fstp qword [ebp - 0xe8]
wait
call fcn.0040a458
fadd qword [ebp - 0xe8]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x1c]
call fcn.0040b0b8
mov dl, 1
mov eax, dword [0x410254]
call fcn.00402ebc
mov edi, eax
mov edx, dword [ebp - 0x1c]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0xec]
mov edx, dword [0x52c65c]
mov edx, dword [edx]
mov edx, dword [edx + 0x3bc]
call fcn.00403df0
mov edx, dword [ebp - 0xec]
mov ecx, dword [ebx]
lea eax, [ebp - 0x1c]
call fcn.00403f04
mov edx, dword [ebp - 0x1c]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [esi + 0x10]
cmp eax, 1
jne 0x4f2293
lea eax, [ebp - 0x1c]
mov edx, dword [0x52c65c]
mov edx, dword [edx]
mov edx, dword [edx + 0x404]
call fcn.00403df0
jmp 0x4f22c6
cmp eax, 2
jne 0x4f22b0
lea eax, [ebp - 0x1c]
mov edx, dword [0x52c65c]
mov edx, dword [edx]
mov edx, dword [edx + 0x408]
call fcn.00403df0
jmp 0x4f22c6
lea eax, [ebp - 0x1c]
mov edx, dword [0x52c65c]
mov edx, dword [edx]
mov edx, dword [edx + 0x468]
call fcn.00403df0
lea edx, [ebp - 0xf0]
lea eax, [esi + 0x20]
call fcn.004098dc
mov edx, dword [ebp - 0xf0]
lea eax, [ebp - 0x1c]
call fcn.00403ec0
mov edx, dword [ebp - 0x1c]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [0x52cc90]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
mov edx, edi
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov ecx, 0x20000
mov edx, dword [0x558db0]
mov eax, edi
call fcn.0046805c
mov eax, edi
call fcn.00402eec
mov eax, dword [0x52cc6c]
cmp byte [eax], 0
jne 0x4f2336
cmp byte [0x52fbd0], 0
je 0x4f23d2
mov eax, dword [0x52cc6c]
mov byte [eax], 0
mov eax, dword [0x52cc98]
mov eax, dword [eax]
call fcn.004516e0
mov eax, dword [0x52cc90]
mov eax, dword [eax]
call fcn.0044eb84
mov edx, dword [0x52cdd4]
mov edx, dword [edx]
lea eax, [ebp - 0x1c]
mov ecx, 0x4f31ec
call fcn.00403f04
mov eax, dword [ebp - 0x1c]
call fcn.00409114
test al, al
je case.0x4f2652.211
mov eax, dword [0x52c884]
cmp dword [eax], 0
jne case.0x4f2652.211
mov dl, 1
mov eax, dword [0x410254]
call fcn.00402ebc
mov edx, dword [0x52ca28]
mov dword [edx], eax
mov eax, dword [0x52ca28]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [0x52c880]
mov dword [eax], 2
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4e2000]
call fcn.00418a60
mov edx, dword [0x52c884]
mov dword [edx], eax
jmp case.0x4f2652.211
mov eax, dword [0x52c61c]
mov dword [eax], 1
jmp case.0x4f2652.211
mov byte [ebx + 0x76], 0
jmp case.0x4f2652.211
mov eax, dword [esi + 0x10]
mov edx, dword [0x52cef0]
cmp eax, dword [edx + 0xe]
jne case.0x4f2652.211
mov byte [ebx + 0x76], 2
mov eax, dword [0x52c9c4]
mov byte [eax], 1
jmp case.0x4f2652.211
mov eax, dword [0x52cf24]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xc]
mov edx, ebx
call fcn.004c930c
jmp case.0x4f2652.211
mov eax, dword [0x52cf98]
mov byte [eax], 2
jmp case.0x4f2652.211
mov eax, dword [0x52cf98]
mov byte [eax], 1
jmp case.0x4f2652.211
mov byte [ebx + 0x109c], 1
jmp case.0x4f2652.211
mov byte [ebx + 0x109c], 2
jmp case.0x4f2652.211
mov al, byte [esi + 0xd]
cmp al, 0xb
jne 0x4f2631
mov al, byte [esi + 0xc]
xor edx, edx
mov dl, al
add edx, 0xffffff5a
cmp edx, 0x2a
ja case.0x4f2652.211
mov dl, byte [edx + 0x4f2484]
jmp dword [edx*4 + 0x4f24af]
mov byte [ebx + 0x76], 0
jmp case.0x4f2652.211
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x6c], 0x2410271
jl case.0x4f2652.211
mov eax, dword [esi + 0x14]
mov dword [ebx + 0x1080], eax
jmp case.0x4f2652.211
cmp byte [ebx + 0x76], 1
jne case.0x4f2652.211
mov byte [ebx + 0x76], 4
jmp case.0x4f2652.211
mov edx, dword [esi + 0x10]
mov ecx, dword [0x52cef0]
cmp edx, dword [ecx + 0xe]
jne case.0x4f2652.211
cmp al, 0xad
jne 0x4f25af
mov byte [ebx + 0x76], 0
mov byte [ebx + 0x77], 0
mov eax, ebx
call fcn.004cb2b4
mov edx, dword [ebx]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov eax, dword [eax + 0x1f0]
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jge 0x4f2583
mov ecx, 0x4f3144
mov edx, dword [ebx]
lea eax, [ebp - 0xf4]
call fcn.00403f04
mov edx, dword [ebp - 0xf4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov eax, dword [eax + 0x1f0]
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jl 0x4f259c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
xor ecx, ecx
mov edx, dword [ebp - 0x14]
call fcn.004a810c
call fcn.004eb970
mov dl, 1
mov eax, ebx
call fcn.004f11f8
jmp case.0x4f2652.211
cmp byte [ebx + 0x76], 6
jne case.0x4f2652.211
mov byte [ebx + 0x76], 2
jmp case.0x4f2652.211
mov ecx, dword [ebx]
mov eax, dword [0x52cc88]
mov eax, dword [eax]
mov edx, esi
call fcn.004d93c4
jmp case.0x4f2652.211
cmp dword [ebx + 0x107c], 0
je case.0x4f2652.211
mov ebx, dword [ebx + 0x107c]
lea edx, [ebp - 0xf8]
lea eax, [esi + 0x20]
call fcn.004098dc
mov edx, dword [ebp - 0xf8]
mov eax, dword [ebx + 0x2d0]
mov eax, dword [eax + 0x208]
mov ecx, dword [eax]
call dword [ecx + 0x34]
jmp case.0x4f2652.211
push 0
push ebx
push 0xa09
mov eax, dword [0x52c46c]
call fcn.00439be4
push eax
call sub.user32.dll_PostMessageA
jmp case.0x4f2652.211
cmp al, 0xc
jne case.0x4f2652.211
xor eax, eax
mov al, byte [esi + 0xc]
add eax, 0xffffff2d
cmp eax, 0x20
ja case.0x4f2652.211
mov al, byte [eax + 0x4f2659]
jmp dword [eax*4 + 0x4f267a]
mov eax, dword [esi + 0x10]
mov edx, dword [0x52cef0]
cmp eax, dword [edx + 0xe]
jne case.0x4f2652.211
mov byte [ebx + 0x76], 2
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x38], eax
mov eax, dword [esi + 0x14]
mov edx, dword [0x52c914]
cmp eax, dword [edx]
jl case.0x4f2652.211
mov eax, dword [esi + 0x1c]
test al, al
je 0x4f26ec
mov eax, dword [ebp - 0xc]
call fcn.004e8744
mov eax, dword [ebp - 0xc]
mov esi, dword [eax + 4]
lea eax, [esi + 0x20]
mov esi, eax
cmp dword [ebx + 0x6c], 0x2410271
jl 0x4f2705
mov eax, dword [esi]
mov dword [ebx + 0x1080], eax
add esi, 4
cmp dword [esi], 0xfffffffe
jne 0x4f2713
xor eax, eax
call fcn.004cbb74
jmp 0x4f274e
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x4f274e
mov edx, dword [0x52cef0]
mov edx, dword [edx + 6]
cmp byte [edx + eax], 0
je 0x4f2744
mov edx, dword [0x52cef0]
mov edx, dword [edx + 6]
mov byte [edx + eax], 0
mov edx, dword [0x52c7d0]
mov edx, dword [edx]
xchg edx, eax
call fcn.004db688
add esi, 4
mov eax, dword [esi]
cmp eax, 0xffffffff
jne 0x4f271a
mov eax, dword [0x52c7d0]
mov eax, dword [eax]
call fcn.004db680
test eax, eax
jle case.0x4f2652.211
mov eax, dword [0x52cef0]
mov byte [eax + 1], 1
jmp case.0x4f2652.211
mov eax, dword [0x52cbc0]
cmp dword [eax + 4], 0
jne 0x4f2786
cmp dword [eax], 0
jbe case.0x4f2652.211
jmp 0x4f278c
jle case.0x4f2652.211
mov eax, dword [esi + 0x10]
mov edx, dword [0x52cef0]
cmp eax, dword [edx + 0xe]
jne case.0x4f2652.211
mov eax, dword [esi + 0x1c]
test al, al
je 0x4f27ad
mov eax, dword [ebp - 0xc]
call fcn.004e8744
mov eax, dword [ebp - 0xc]
call fcn.004cbb94
mov eax, dword [0x52c92c]
xor edx, edx
mov dword [eax], edx
mov byte [ebx + 0x76], 0
jmp case.0x4f2652.211
mov eax, dword [0x52cbc0]
cmp dword [eax + 4], 0
jne 0x4f27dd
cmp dword [eax], 0
jbe case.0x4f2652.211
jmp 0x4f27e3
jle case.0x4f2652.211
cmp byte [0x52c4d0], 3
jne case.0x4f2652.211
cmp dword [ebx + 0x1084], 0
je case.0x4f2652.211
lea edx, [ebp - 0x108]
mov eax, dword [0x52cdbc]
mov eax, dword [eax]
mov eax, dword [eax + 0x2e4]
mov ecx, dword [eax]
call dword [ecx + 0x40]
lea eax, [ebp - 0x108]
push eax
lea edx, [ebp - 0x118]
mov eax, dword [ebx + 0x1088]
call fcn.00433514
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x78]
push eax
call sub.user32.dll_IntersectRect
cmp dword [ebp - 0x78], 0
jne 0x4f2859
cmp dword [ebp - 0x74], 0
jne 0x4f2859
cmp dword [ebp - 0x70], 0
jne 0x4f2859
cmp dword [ebp - 0x6c], 0
je case.0x4f2652.211
mov eax, dword [ebx + 0x1084]
mov edx, dword [0x41a938]
call fcn.00403064
test al, al
jne 0x4f288b
mov eax, dword [ebx + 0x1084]
call fcn.00402eec
mov dl, 1
mov eax, dword [0x41a938]
call fcn.00420b2c
mov dword [ebx + 0x1084], eax
cmp dword [esi + 0x1c], 0
je 0x4f28f7
cmp byte [esi + 0xc], 0xec
jne 0x4f289c
mov edi, dword [esi + 0x14]
jmp 0x4f289e
xor edi, edi
push edi
mov eax, dword [ebp - 0xc]
call fcn.00413e58
mov ecx, eax
sub ecx, 0x20
lea edx, [esi + 0x20]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2d8]
call fcn.00462474
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2d8]
mov eax, dword [eax + 0x24]
xor edx, edx
call fcn.00413e4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2d8]
mov edx, dword [eax + 0x24]
mov eax, dword [ebx + 0x1084]
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2d8]
call fcn.0046243c
jmp 0x4f2912
mov edx, 0x20
mov eax, dword [ebp - 0xc]
call fcn.00413e4c
mov eax, dword [ebx + 0x1084]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov edx, dword [0x52cfc8]
mov edx, dword [edx]
mov eax, dword [ebx + 0x1088]
call fcn.00433370
mov edx, dword [0x52cfb4]
mov edx, dword [edx]
mov eax, dword [ebx + 0x1088]
call fcn.00433390
mov eax, dword [ebx + 0x1088]
mov edx, dword [eax]
call dword [edx + 0x74]
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x108c], eax
jmp case.0x4f2652.211
mov eax, dword [0x52cbc0]
cmp dword [eax + 4], 0
jne 0x4f2967
cmp dword [eax], 0
jbe case.0x4f2652.211
jmp 0x4f296d
jle case.0x4f2652.211
cmp byte [0x52c4d0], 3
jne case.0x4f2652.211
cmp dword [ebx + 0x1084], 0
je case.0x4f2652.211
mov eax, dword [ebx + 0x1084]
mov edx, dword [0x4ac82c]
call fcn.00403064
test al, al
jne 0x4f29b9
mov eax, dword [ebx + 0x1084]
call fcn.00402eec
mov dl, 1
mov eax, dword [0x4ac82c]
call fcn.004acadc
mov dword [ebx + 0x1084], eax
mov edx, 0x20
mov eax, dword [ebp - 0xc]
call fcn.00413e4c
mov eax, dword [ebx + 0x1084]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov edx, dword [0x52cfc8]
mov edx, dword [edx]
mov eax, dword [ebx + 0x1088]
call fcn.00433370
mov edx, dword [0x52cfb4]
mov edx, dword [edx]
mov eax, dword [ebx + 0x1088]
call fcn.00433390
mov eax, dword [ebx + 0x1088]
mov edx, dword [eax]
call dword [edx + 0x74]
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x108c], eax
jmp case.0x4f2652.211
mov eax, dword [0x52cbc0]
cmp dword [eax + 4], 0
jne 0x4f2a29
cmp dword [eax], 0
jbe case.0x4f2652.211
jmp 0x4f2a2f
jle case.0x4f2652.211
cmp dword [0x558d94], 0
je 0x4f2a6e
cmp ebx, dword [0x558d94]
je 0x4f2a6e
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, 0x88
mov edx, dword [0x558d94]
mov eax, dword [ebp - 4]
call fcn.004ec284
mov eax, dword [0x558d94]
call fcn.004e8274
jmp case.0x4f2652.211
cmp byte [0x52c4d0], 0
je case.0x4f2652.211
mov eax, dword [esi + 0x10]
cmp eax, 0xffffffff
je 0x4f2aa1
mov edx, eax
and edx, 0xffff
mov ecx, dword [0x52ce20]
mov dword [ecx], edx
shr eax, 0x10
mov edx, dword [0x52ce20]
mov dword [edx + 4], eax
jmp 0x4f2aac
mov eax, dword [0x52ce20]
mov dword [eax], 0xffffffff
cmp byte [esi + 0xc], 0xeb
jne 0x4f2ab7
mov edi, dword [esi + 0x18]
jmp 0x4f2ab9
xor edi, edi
push edi
mov ecx, dword [esi + 4]
sub ecx, 0x20
lea edx, [esi + 0x20]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2d8]
call fcn.00462474
cmp dword [esi + 0x14], 0
je 0x4f2ae0
cmp dword [ebx + 0x6c], 0x247007e
jge 0x4f2b09
mov eax, dword [0x52c960]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x2d8]
mov edx, dword [edx + 0x24]
mov ecx, dword [0x52c960]
mov dword [ecx], edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x2d8]
mov dword [edx + 0x24], eax
jmp 0x4f2b3a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2d8]
mov eax, dword [eax + 0x24]
call fcn.00413e58
mov ecx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2d8]
mov eax, dword [eax + 0x24]
mov edx, dword [eax + 4]
mov eax, dword [0x52c960]
mov eax, dword [eax]
mov eax, dword [eax + 4]
call fcn.00467cec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2d8]
call fcn.0046243c
mov eax, dword [0x52c960]
mov eax, dword [eax]
xor edx, edx
call fcn.00413e4c
cmp byte [0x52c4d0], 3
jne 0x4f2c62
mov eax, dword [ebx + 0x1084]
mov edx, dword [0x41a938]
call fcn.00403064
test al, al
jne 0x4f2b95
mov eax, dword [ebx + 0x1084]
call fcn.00402eec
mov dl, 1
mov eax, dword [0x41a938]
call fcn.00420b2c
mov dword [ebx + 0x1084], eax
mov edx, dword [0x52c960]
mov edx, dword [edx]
mov eax, dword [ebx + 0x1084]
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov eax, dword [0x52c4a4]
mov edx, dword [0x52c4a8]
sub eax, dword [0x52c55c]
sbb edx, dword [0x52c560]
cmp edx, 0
jne 0x4f2bce
cmp eax, 0xbb8
jbe 0x4f2c12
jmp 0x4f2bd0
jle 0x4f2c12
mov eax, dword [0x52ce20]
cmp dword [eax], 0xffffffff
je 0x4f2c12
mov eax, dword [0x52c8d4]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x128]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebx + 0x1084]
call fcn.00421098
mov ecx, dword [0x52ce20]
mov ecx, dword [ecx + 4]
mov edx, dword [0x52ce20]
mov edx, dword [edx]
call fcn.0041c5a0
mov eax, ebx
call fcn.004dca24
test al, al
je 0x4f2c42
mov eax, dword [ebx + 0x1084]
mov edx, dword [0x41a938]
call fcn.00403064
test al, al
je 0x4f2c42
mov eax, dword [0x52cdbc]
mov eax, dword [eax]
mov edx, ebx
call fcn.004dca5c
jmp 0x4f2c52
mov eax, dword [0x52c7ec]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], 0x3ff00000
mov eax, dword [ebx + 0x1088]
mov edx, dword [eax]
call dword [edx + 0x74]
jmp 0x4f2d08
mov edx, dword [0x52c960]
mov edx, dword [edx]
mov eax, dword [0x52cca8]
mov eax, dword [eax]
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov eax, dword [0x52c4a4]
mov edx, dword [0x52c4a8]
sub eax, dword [0x52c55c]
sbb edx, dword [0x52c560]
cmp edx, 0
jne 0x4f2c9c
cmp eax, 0xbb8
jbe 0x4f2ce1
jmp 0x4f2c9e
jle 0x4f2ce1
mov eax, dword [0x52ce20]
cmp dword [eax], 0xffffffff
je 0x4f2ce1
mov eax, dword [0x52c8d4]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x128]
mov eax, dword [eax + 4]
push eax
mov eax, dword [0x52cca8]
mov eax, dword [eax]
call fcn.00421098
mov ecx, dword [0x52ce20]
mov ecx, dword [ecx + 4]
mov edx, dword [0x52ce20]
mov edx, dword [edx]
call fcn.0041c5a0
mov eax, dword [0x52c8d4]
mov eax, dword [eax]
call fcn.004dfa38
mov eax, dword [0x52c8d4]
mov eax, dword [eax]
mov esi, dword [eax + 0x2ec]
xor edx, edx
mov eax, dword [esi + 0x12c]
call dword [esi + 0x128]
mov dword [ebx + 0x108c], 0x4000
jmp case.0x4f2652.211
mov eax, dword [0x52c604]
cmp dword [eax], 0
je case.0x4f2652.211
mov eax, dword [0x52c604]
mov eax, dword [eax]
mov ecx, esi
mov edx, ebx
call fcn.004e3050
jmp case.0x4f2652.211
mov eax, dword [esi + 0x1c]
test al, al
je 0x4f2d49
mov eax, dword [ebp - 0xc]
call fcn.004e8744
mov eax, dword [0x52cf24]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xc]
mov edx, ebx
call fcn.004c930c
jmp case.0x4f2652.211
cmp dword [0x558d94], 0
je 0x4f2d9e
cmp ebx, dword [0x558d94]
je 0x4f2d9e
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, 0x88
mov edx, dword [0x558d94]
mov eax, dword [ebp - 4]
call fcn.004ec284
mov eax, dword [0x558d94]
call fcn.004e8274
jmp case.0x4f2652.211
cmp dword [ebx + 0x1090], 0
jne 0x4f2db9
mov dl, 1
mov eax, dword [0x410500]
call fcn.00402ebc
mov dword [ebx + 0x1090], eax
cmp dword [esi + 0x14], 0
jne 0x4f2dcc
mov eax, dword [ebx + 0x1090]
xor edx, edx
call fcn.00413e4c
mov ecx, dword [esi + 4]
sub ecx, 0x20
lea edx, [esi + 0x20]
mov eax, dword [ebx + 0x1090]
mov edi, dword [eax]
call dword [edi + 8]
cmp dword [esi + 0x18], 0
jne case.0x4f2652.211
mov eax, dword [ebx + 0x1090]
mov esi, dword [eax + 4]
jmp 0x4f2a6e
cmp byte [0x52c4d0], 3
jne case.0x4f2652.211
cmp dword [ebx + 0x1084], 0
je case.0x4f2652.211
cmp dword [ebx + 0x1090], 0
jne 0x4f2e2d
mov dl, 1
mov eax, dword [0x410500]
call fcn.00402ebc
mov dword [ebx + 0x1090], eax
cmp dword [esi + 0x14], 0
jne 0x4f2e40
mov eax, dword [ebx + 0x1090]
xor edx, edx
call fcn.00413e4c
mov ecx, dword [esi + 4]
sub ecx, 0x20
lea edx, [esi + 0x20]
mov eax, dword [ebx + 0x1090]
mov edi, dword [eax]
call dword [edi + 8]
cmp dword [esi + 0x18], 0
jne case.0x4f2652.211
mov eax, dword [ebx + 0x1090]
mov esi, dword [eax + 4]
mov edx, dword [esi + 4]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.00413e4c
mov ecx, dword [esi + 4]
mov edx, esi
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 8]
cmp byte [esi + 0xc], 0xea
je 0x4f2987
cmp byte [esi + 0xc], 0xec
je 0x4f27fd
jmp case.0x4f2652.211
cmp dword [ebx + 0x1090], 0
jne 0x4f2ebc
mov dl, 1
mov eax, dword [0x410500]
call fcn.00402ebc
mov dword [ebx + 0x1090], eax
cmp dword [esi + 0x14], 0
jne 0x4f2ecf
mov eax, dword [ebx + 0x1090]
xor edx, edx
call fcn.00413e4c
mov ecx, dword [esi + 4]
sub ecx, 0x20
lea edx, [esi + 0x20]
mov eax, dword [ebx + 0x1090]
mov edi, dword [eax]
call dword [edi + 8]
cmp dword [esi + 0x18], 0
jne case.0x4f2652.211
mov eax, dword [ebx + 0x1090]
mov esi, dword [eax + 4]
mov edx, dword [esi + 4]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.00413e4c
mov ecx, dword [esi + 4]
mov edx, esi
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 8]
jmp case.0x4f2652.218
mov eax, dword [0x52cc68]
cmp byte [eax], 1
jne case.0x4f2652.211
cmp dword [esi + 0x14], 0
jne 0x4f2fbb
cmp dword [ebx + 0x1098], 0
jne 0x4f2fbb
mov eax, dword [0x52cdd4]
push dword [eax]
push 0x4f3208
push dword [ebx]
mov eax, dword [0x52ce14]
push dword [eax]
lea eax, [ebp - 0x1c]
mov edx, 4
call fcn.00403f78
lea edx, [ebp - 0x11c]
mov eax, dword [ebp - 0x1c]
call fcn.0040940c
mov eax, dword [ebp - 0x11c]
call fcn.004621dc
lea eax, [ebp - 0x120]
mov edx, dword [ebp - 0x1c]
call fcn.004043c0
mov eax, dword [ebp - 0x120]
mov dx, 0xffff
call fcn.00465f30
mov dword [ebx + 0x1098], eax
mov eax, dword [esi + 0x18]
cdq
push edx
push eax
mov eax, dword [ebx + 0x1098]
call fcn.004642ac
push 0
push 0
mov eax, dword [ebx + 0x1098]
call fcn.0046424c
cmp dword [ebx + 0x1098], 0
je case.0x4f2652.211
mov ecx, dword [esi + 4]
sub ecx, 0x20
lea edx, [esi + 0x20]
mov eax, dword [ebx + 0x1098]
mov edi, dword [eax]
call dword [edi + 8]
mov eax, dword [ebx + 0x1098]
call fcn.00464228
push edx
push eax
mov eax, dword [esi + 0x18]
cdq
cmp edx, dword [esp + 4]
jne 0x4f2ff2
cmp eax, dword [esp]
pop edx
pop eax
jne case.0x4f2652.211
lea eax, [ebx + 0x1098]
call fcn.0040da64
mov byte [ebx + 0x109c], 3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f302f
mov eax, dword [ebp - 0xc]
call fcn.00402eec
ret
mov eax, dword [ebx + 0x2c]
xor edx, edx
call fcn.00413e4c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f305a
call fcn.004ed380
ret
mov eax, dword [ebx + 0x2c]
call fcn.00413e3c
cmp eax, 0x20
je 0x4f14b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f30f9
lea eax, [ebp - 0x120]
call fcn.00404290
lea eax, [ebp - 0x11c]
call fcn.00403c38
lea eax, [ebp - 0xf8]
mov edx, 4
call fcn.00403c5c
lea eax, [ebp - 0xe0]
mov edx, 8
call fcn.00403c5c
lea eax, [ebp - 0xc0]
call fcn.00404290
lea eax, [ebp - 0xbc]
call fcn.00403c38
lea eax, [ebp - 0xb8]
call fcn.00404290
lea eax, [ebp - 0xb4]
call fcn.00403c38
lea eax, [ebp - 0xac]
mov edx, 0xd
call fcn.00403c5c
lea eax, [ebp - 0x3c]
mov edx, 5
call fcn.00403c5c
lea eax, [ebp - 0x1c]
call fcn.00403c38
ret