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

Disassembly:
mov eax, dword [0x17adb88]
sub esp, 0xfc
push ebx
push ebp
push esi
push edi
mov dword [0x17c2bf4], eax
call fcn.00419450
call fcn.004191c0
mov ecx, dword [0x47da64]
xor ebx, ebx
cmp ecx, dword [0x47da68]
jne 0x42f552
xor eax, eax
jmp 0x42f566
mov eax, dword [ecx*4 + 0x475838]
inc ecx
and ecx, 0xff
mov dword [0x47da64], ecx
and eax, 0xff
mov ecx, eax
cmp dword [0x47d5f8], ebx
je 0x42f714
cmp byte [0x47f4e1], bl
je 0x42f598
mov byte [0x47f4e1], bl
mov dword [0x47d5f8], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfc
ret
cmp ecx, ebx
je 0x43025f
mov eax, 0x16aa820
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x42f5a8
sub eax, esi
cmp ecx, 8
jne 0x42f5d3
cmp eax, 1
jle 0x43025f
mov word [eax + 0x16aa81e], 0x5f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfc
ret
cmp ecx, 0xd
jne 0x42f6ed
cmp eax, 1
jle 0x42f6dc
mov byte [eax + 0x16aa81f], bl
cmp byte [0x16aa820], 0x2f
jne 0x42f64d
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x2c]
push eax
push str.fog__i__i__i
push 0x16aa821
call fcn.004098ef
add esp, 0x14
cmp eax, 3
jne 0x42f64d
mov edx, dword [esp + 0x24]
mov cl, byte [0x17aad40]
shl edx, 8
or edx, dword [esp + 0x28]
push 1
shl edx, 8
or edx, dword [esp + 0x30]
push 8
shl edx, 5
lea eax, [esp + 0x40]
mov byte [esp + 0x40], 0x17
mov byte [esp + 0x41], cl
mov dword [esp + 0x44], edx
push eax
jmp 0x42f6b9
push 0x78
lea ecx, [esp + 0x94]
push ebx
push ecx
call fcn.0040ffd0
mov dl, byte [0x17aad40]
xor eax, eax
add esp, 0xc
cmp dword [0x47d5f8], 1
mov byte [esp + 0x90], 0xd
setne al
mov byte [esp + 0x91], dl
inc eax
mov dword [esp + 0x94], eax
xor eax, eax
jmp 0x42f690
mov cl, byte [eax + 0x16aa820]
mov byte [esp + eax + 0x98], cl
inc eax
cmp cl, bl
jne 0x42f690
push 1
lea eax, [esp + 0x94]
call fcn.00425800
push eax
lea ecx, [esp + 0x98]
push ecx
call fcn.00436870
add esp, 0xc
push eax
call fcn.00435cc0
add esp, 4
push str.wav_chat.wav
mov edi, 0xfffffd44
call fcn.00419a90
add esp, 4
mov dword [0x47d5f8], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfc
ret
cmp eax, 0x50
jge 0x43025f
mov byte [eax + 0x16aa81f], cl
mov byte [eax + 0x16aa820], 0x5f
mov byte [eax + 0x16aa821], bl
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfc
ret
mov eax, dword [0x17c2bf0]
cmp eax, ebx
jne 0x42f80b
cmp ecx, 0x74
je 0x42f748
cmp ecx, 0x79
je 0x42f739
cmp ecx, 0x54
je 0x42f748
cmp ecx, 0x59
jne 0x42f80b
mov dword [0x47d5f8], 2
cmp ecx, 0x54
jne 0x42f752
mov dword [0x47d5f8], 1
mov edi, dword [0x17aad40]
imul edi, edi, 0x3a0
mov word [0x16aa820], 0x5f
cmp dword [edi + 0x475f28], ebx
jne 0x42f7ab
cmp dword [edi + 0x475f2c], ebx
jne 0x42f7ab
cmp dword [edi + 0x475f30], ebx
jne 0x42f7ab
cmp dword [edi + 0x475f34], ebx
jne 0x42f7ab
cmp dword [edi + 0x475f44], ebx
jne 0x42f7ab
cmp dword [edi + 0x475f38], ebx
jne 0x42f7ab
cmp dword [edi + 0x475f3c], ebx
jne 0x42f7ab
cmp dword [edi + 0x475f40], ebx
je 0x43025f
fldz
fstp dword [edi + 0x475f7c]
mov dword [edi + 0x475f40], ebx
mov dword [edi + 0x475f38], ebx
mov dword [edi + 0x475f44], ebx
mov dword [edi + 0x475f34], ebx
mov dword [edi + 0x475f30], ebx
mov dword [edi + 0x475f2c], ebx
mov dword [edi + 0x475f28], ebx
cmp dword [edi + 0x475f3c], ebx
je 0x42f7fb
lea esi, [edi + 0x475c38]
call fcn.0043afd0
neg eax
sbb eax, eax
inc eax
mov dword [edi + 0x475f3c], eax
call fcn.0042c3e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfc
ret
mov ebp, 1
cmp dword [0x17aae6c], ebx
je 0x42f930
cmp eax, ebx
je 0x42f869
mov ecx, dword [0x47eca0]
mov eax, dword [0x47eca4]
cmp byte [ecx + 0x47f4e0], bl
jne 0x42f83f
cmp byte [eax + 0x47f4e0], bl
je 0x42fa84
mov esi, dword [0x17aad40]
movzx edx, byte [eax + 0x47f4e0]
imul esi, esi, 0x3a0
mov dword [0x17aae6c], ebx
mov dword [esi + 0x475f20], edx
mov byte [ecx + 0x47f4e0], bl
jmp 0x42fa78
mov eax, dword [0x47eca0]
mov al, byte [eax + 0x47f4e0]
mov edx, dword [0x47eca4]
cmp al, bl
jne 0x42f8a7
cmp byte [edx + 0x47f4e0], bl
jne 0x42f8a3
cmp byte [0x47f4e1], bl
je 0x42fa84
mov byte [0x47f4e1], bl
mov dword [0x17aae6c], ebx
jmp 0x42fa84
cmp al, bl
je 0x42f8c1
mov ecx, dword [0x17aad40]
mov eax, ecx
imul eax, eax, 0x3a0
mov eax, dword [eax + 0x475f20]
cmp eax, ebx
jne 0x42f8e1
jmp 0x42f8c7
mov ecx, dword [0x17aad40]
cmp byte [edx + 0x47f4e0], bl
je 0x42f914
mov eax, ecx
imul eax, eax, 0x3a0
mov eax, dword [eax + 0x475f20]
cmp eax, ebx
jne 0x42f914
mov byte [esp + 0x31], cl
xor ecx, ecx
cmp eax, ebx
sete cl
push ebp
lea edx, [esp + 0x34]
push 8
push edx
mov byte [esp + 0x3c], 0x19
mov dword [esp + 0x40], ecx
call fcn.00436870
add esp, 0xc
push eax
call fcn.00435cc0
mov edx, dword [0x47eca4]
add esp, 4
mov eax, dword [0x47eca0]
mov byte [eax + 0x47f4e0], bl
mov byte [edx + 0x47f4e0], bl
mov dword [0x17aae6c], ebx
jmp 0x42fa84
cmp dword [0x16aaca8], ebx
je 0x42fa52
cmp eax, ebx
je 0x42f9d4
xor ecx, ecx
cmp byte [ecx + 0x47f4e2], bl
jne 0x42f95a
add ecx, ebp
cmp ecx, 3
jl 0x42f946
jmp 0x42fa84
mov edx, dword [0x17aad40]
mov eax, edx
imul eax, eax, 0x3a0
mov dword [eax + 0x475f24], ecx
mov byte [ecx + 0x47f4e2], bl
xor ecx, ecx
cmp dword [eax + 0x475f20], ebx
mov byte [esp + 0x61], dl
mov dl, byte [eax + 0x475f24]
setne cl
push 0xf
lea eax, [eax + 0x475fc8]
push eax
mov dword [0x16aaca8], ebx
mov byte [esp + 0x68], 7
mov byte [esp + 0x6a], dl
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0x78]
push ecx
mov byte [esp + 0x6f], 2
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], 0x7f7f7f
call fcn.00409060
add esp, 0xc
push ebp
push 0x20
lea edx, [esp + 0x68]
mov byte [esp + 0x87], bl
push edx
jmp 0x42fa3f
cmp byte [0x47f4e1], bl
je 0x42f9ed
mov byte [0x47f4e1], bl
mov dword [0x16aaca8], ebx
jmp 0x42fa84
xor eax, eax
nop
cmp byte [eax + 0x47f4e2], bl
jne 0x42fa04
add eax, ebp
cmp eax, 3
jl 0x42f9f0
jmp 0x42fa84
mov ecx, dword [0x17aad40]
imul ecx, ecx, 0x3a0
mov byte [eax + 0x47f4e2], bl
mov dword [0x16aaca8], ebx
cmp eax, dword [ecx + 0x475f24]
je 0x42fa84
mov dl, byte [0x17aad40]
push ebp
mov dword [esp + 0x24], eax
push 8
lea eax, [esp + 0x24]
mov byte [esp + 0x24], 0x1a
mov byte [esp + 0x25], dl
push eax
call fcn.00436870
add esp, 0xc
push eax
call fcn.00435cc0
add esp, 4
jmp 0x42fa84
cmp eax, ebx
jne 0x42fa84
mov eax, dword [0x47ec70]
cmp byte [eax + 0x47f4e0], bl
je 0x42fa6b
mov dword [0x17aae6c], ebp
jmp 0x42fa7e
mov eax, dword [0x47ec74]
cmp byte [eax + 0x47f4e0], bl
je 0x42fa84
mov dword [0x16aaca8], ebp
mov byte [eax + 0x47f4e0], bl
mov ecx, dword [0x47ec58]
cmp byte [ecx + 0x47f4e0], bl
je 0x42faa5
mov edx, dword [0x47ed00]
push ebx
push ebx
push 0x10
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x42faef
mov eax, dword [0x47ec5c]
cmp byte [eax + 0x47f4e0], bl
je 0x42faef
push 0x444828
push str.vxl_lastsav.vxl
mov byte [eax + 0x47f4e0], bl
call fcn.00409240
add esp, 8
cmp eax, ebx
je 0x42fad5
mov edi, eax
call fcn.0041d230
push 0x44
call fcn.00425de0
add esp, 4
push 3
push eax
mov eax, 0x47d058
call fcn.00426090
add esp, 8
mov eax, dword [0x47ec64]
cmp byte [eax + 0x47f4e0], bl
je 0x42fb3b
mov byte [eax + 0x47f4e0], bl
mov eax, dword [0x16aac9c]
dec eax
xor ecx, ecx
cmp eax, ebx
setle cl
dec ecx
and ecx, eax
mov dword [0x16aac9c], ecx
call fcn.00419140
mov edx, dword [0x16aac9c]
push edx
push 0x5b
call fcn.00425de0
push 3
push eax
mov eax, 0x47d058
call fcn.00426090
add esp, 0x10
mov eax, dword [0x47ec60]
cmp byte [eax + 0x47f4e0], bl
je 0x42fb8a
mov byte [eax + 0x47f4e0], bl
mov eax, dword [0x16aac9c]
inc eax
mov dword [0x16aac9c], eax
cmp eax, 0xa
jl 0x42fb68
mov dword [0x16aac9c], 0xa
call fcn.00419140
mov eax, dword [0x16aac9c]
push eax
push 0x5b
call fcn.00425de0
push 3
push eax
mov eax, 0x47d058
call fcn.00426090
add esp, 0x10
mov eax, dword [0x47ec68]
cmp byte [eax + 0x47f4e0], bl
je 0x42fbba
cmp dword [0x47ec04], ebx
je 0x42fbba
mov byte [eax + 0x47f4e0], bl
cmp dword [0x47f228], ebx
je 0x42fbba
push ebx
mov dword [0x47f228], ebx
call dword [sym.imp.USER32.dll_SetActiveWindow]
mov esi, dword [0x17aad40]
imul esi, esi, 0x3a0
cmp dword [esi + 0x475f50], ebx
je 0x43025f
cmp dword [0x17c2bf0], ebx
jne 0x43025f
fld dword [0x444d14]
push ecx
lea edx, [esi + 0x475ed8]
fstp dword [esp]
mov ecx, 0x17aae80
call fcn.0043a800
add esp, 4
test eax, eax
je 0x42fc7f
fld dword [0x17c2de8]
fld dword [0x17adb90]
fcompp
fnstsw ax
test ah, 5
jp 0x42fc7f
mov cl, byte [esi + 0x475fb4]
mov eax, dword [edx]
mov byte [esp + 0x51], cl
mov ecx, dword [edx + 4]
mov dword [esp + 0x54], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x58], ecx
mov ecx, dword [edx]
mov dword [esp + 0x5c], eax
mov eax, dword [edx + 4]
mov dword [0x17aae80], ecx
mov ecx, dword [edx + 8]
push 2
lea edx, [esp + 0x54]
push 0x10
push edx
mov byte [esp + 0x5c], bl
mov dword [0x17aae84], eax
mov dword [0x17aae88], ecx
call fcn.00436870
add esp, 0xc
push eax
call fcn.00435cc0
fld dword [0x17c2de8]
fadd qword [0x444990]
add esp, 4
fstp dword [0x17adb90]
mov edx, dword [0x17aad40]
fld dword [0x444d14]
imul edx, edx, 0x3a0
push ecx
lea edx, [edx + 0x475f14]
mov ecx, 0x17c2be0
fstp dword [esp]
call fcn.0043a800
add esp, 4
test eax, eax
je 0x42fd2c
fld dword [0x17c2de8]
fld dword [0x17adb84]
fcompp
fnstsw ax
test ah, 5
jp 0x42fd2c
mov al, byte [0x17aad40]
mov ecx, dword [edx]
mov byte [esp + 0x41], al
mov eax, dword [edx + 4]
mov dword [esp + 0x44], ecx
mov ecx, dword [edx + 8]
mov dword [esp + 0x48], eax
mov eax, dword [edx]
push 2
mov dword [esp + 0x50], ecx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [0x17c2be0], eax
lea eax, [esp + 0x44]
push 0x10
push eax
mov byte [esp + 0x4c], 1
mov dword [0x17c2be4], ecx
mov dword [0x17c2be8], edx
call fcn.00436870
add esp, 0xc
push eax
call fcn.00435cc0
fld dword [0x17c2de8]
fadd qword [0x444b00]
add esp, 4
fstp dword [0x17adb84]
call fcn.0042f1b0
mov eax, dword [0x47ec40]
cmp byte [eax + 0x47f4e0], bl
je 0x42fd5f
mov byte [eax + 0x47f4e0], bl
cmp dword [0x17c1bc0], ebx
je 0x42fd54
mov dword [0x17c1bc0], ebx
jmp 0x42fd5f
call fcn.00429280
mov dword [0x17c1bc0], ebp
mov esi, dword [0x17c2d18]
mov eax, esi
sub eax, ebp
je 0x42fdfd
sub eax, ebp
je 0x42fdd0
sub eax, ebp
jne 0x42fe11
mov edx, dword [0x17aad40]
mov ecx, edx
imul ecx, ecx, 0x3a0
cmp dword [ecx + 0x475f70], ebx
jne 0x42fe17
mov dword [0x16aac98], 0xffffffff
sub esi, ebp
mov dword [0x17c2d18], esi
cmp esi, 3
jne 0x42fe3d
mov eax, edx
imul eax, eax, 0x3a0
cmp dword [eax + 0x475f70], ebx
jne 0x43021f
mov dword [0x17c2d18], 2
jmp 0x42fe42
mov eax, dword [0x17aad40]
imul eax, eax, 0x3a0
cmp dword [eax + 0x475f68], ebx
jne 0x42fe11
cmp dword [eax + 0x475f6c], ebx
jne 0x42fe11
mov edx, dword [0x17aad40]
mov dword [0x16aac98], 0xffffffff
jmp 0x42fd9f
mov edx, dword [0x17aad40]
imul edx, edx, 0x3a0
cmp dword [edx + 0x475f64], ebx
jmp 0x42fde9
mov edx, dword [0x17aad40]
mov eax, dword [0x16aac98]
cmp eax, ebx
je 0x42ff1d
jge 0x42fe93
cmp esi, ebx
jne 0x42fd9f
mov dword [0x17c2d18], 3
jmp 0x42fdb0
cmp esi, 2
jne 0x42fe7b
mov eax, edx
imul eax, eax, 0x3a0
cmp dword [eax + 0x475f6c], ebx
jne 0x43021f
cmp dword [eax + 0x475f68], ebx
jne 0x43021f
mov ecx, edx
imul ecx, ecx, 0x3a0
cmp dword [ecx + 0x475f64], ebx
mov dword [0x17c2d18], ebp
jmp 0x42ff0c
cmp esi, ebp
jne 0x43021f
mov ecx, edx
imul ecx, ecx, 0x3a0
cmp dword [ecx + 0x475f64], ebx
jmp 0x42ff0c
cmp esi, 3
je 0x42ff12
add esi, ebp
mov dword [0x17c2d18], esi
cmp esi, ebp
jne 0x42fec4
mov eax, edx
imul eax, eax, 0x3a0
cmp dword [eax + 0x475f64], ebx
jne 0x43021f
mov dword [0x17c2d18], 2
jmp 0x42fec9
cmp esi, 2
jne 0x42fef5
mov eax, edx
imul eax, eax, 0x3a0
cmp dword [eax + 0x475f6c], ebx
jne 0x43021f
cmp dword [eax + 0x475f68], ebx
jne 0x43021f
mov dword [0x17c2d18], 3
jmp 0x42fefe
cmp esi, 3
jne 0x43021f
mov ecx, edx
imul ecx, ecx, 0x3a0
cmp dword [ecx + 0x475f70], ebx
jne 0x43021f
mov dword [0x17c2d18], ebx
jmp 0x43021f
cmp byte [0x47f4e2], bl
jne 0x4301b0
cmp byte [0x47f4e3], bl
jne 0x4301b0
cmp byte [0x47f4e4], bl
jne 0x4301b0
cmp byte [0x47f4e5], bl
jne 0x4301b0
mov eax, dword [0x47ec44]
cmp byte [eax + 0x47f4e0], bl
je 0x43003f
mov ecx, edx
imul ecx, ecx, 0x3a0
cmp dword [ecx + 0x475f6c], ebx
je 0x43003f
mov edx, dword [ecx + 0x475f24]
mov eax, dword [ecx + 0x475f68]
lea edx, [edx + edx*8]
add edx, edx
add edx, edx
add edx, edx
cmp eax, dword [edx + 0x44a798]
jge 0x430039
cmp esi, 2
jne 0x430039
fld dword [ecx + 0x475f84]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x43025f
fld dword [edx + 0x44a788]
fadd dword [0x17c2de8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 0x475f84]
mov ecx, dword [ecx + 0x475f24]
lea eax, [ecx + ecx*8]
add eax, eax
add eax, eax
add eax, eax
cmp dword [eax + 0x44a7a0], ebx
je 0x430004
mov ecx, dword [eax + 0x44a780]
fstp dword [0x17aad2c]
push ecx
mov edi, 0xfffffed4
mov dword [0x17c2bec], ebx
call fcn.00419a90
add esp, 4
jmp 0x430006
fstp st(0)
mov dl, byte [0x17aad40]
push ebp
lea eax, [esp + 0x18]
push 2
push eax
mov byte [esp + 0x20], 0x18
mov byte [esp + 0x21], dl
call fcn.00436870
add esp, 0xc
push eax
call fcn.00435cc0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfc
ret
mov edx, dword [0x17aad40]
cmp esi, ebp
jne 0x43025f
fld dword [0x17aad2c]
fld dword [0x17c2de8]
fcompp
fnstsw ax
test ah, 1
jne 0x43025f
mov ecx, dword [0x47ec48]
cmp byte [ecx + 0x47f4e0], bl
je 0x4300a0
mov eax, dword [0x17aad34]
cmp eax, ebx
jge 0x43007e
mov eax, 3
jmp 0x430084
add eax, 0xfffffff8
and eax, 0x3f
mov dword [0x17aad34], eax
mov eax, dword [eax*4 + 0x17aaee0]
call fcn.0042a880
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfc
ret
mov eax, dword [0x47ec4c]
cmp byte [eax + 0x47f4e0], bl
je 0x4300df
mov eax, dword [0x17aad34]
cmp eax, ebx
jge 0x4300bd
mov eax, 3
jmp 0x4300c3
add eax, 8
and eax, 0x3f
mov dword [0x17aad34], eax
mov eax, dword [eax*4 + 0x17aaee0]
call fcn.0042a880
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfc
ret
mov ecx, dword [0x47ec50]
cmp byte [ecx + 0x47f4e0], bl
je 0x43010a
mov eax, dword [0x17aad34]
cmp eax, ebx
jl 0x430077
lea edx, [eax - 1]
mov ecx, eax
and edx, 7
and ecx, 7
sub edx, ecx
add eax, edx
jmp 0x430084
mov eax, dword [0x47ec54]
cmp byte [eax + 0x47f4e0], bl
je 0x430138
mov eax, dword [0x17aad34]
cmp eax, ebx
jl 0x430077
lea ecx, [eax + 1]
mov edx, eax
and ecx, 7
and edx, 7
sub ecx, edx
add eax, ecx
jmp 0x430084
test byte [0x17adb88], 2
je 0x43025f
test byte [0x17c2bf4], 2
jne 0x43025f
mov ecx, edx
imul ecx, ecx, 0x3a0
lea eax, [esp + 0x80]
push eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x8c]
push eax
lea eax, [ecx + 0x475f14]
lea ecx, [ecx + 0x475ee4]
call fcn.0041d300
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp eax, ebx
je 0x43025f
mov eax, dword [eax]
and eax, 0xffffff
mov dword [0x17aad34], 0xffffffff
call fcn.0042a880
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfc
ret
xor eax, eax
cmp byte [eax + 0x47f4e2], bl
je 0x430208
cmp eax, esi
je 0x430208
cmp eax, ebx
je 0x43021a
cmp eax, ebp
jne 0x4301d6
mov ecx, edx
imul ecx, ecx, 0x3a0
cmp dword [ecx + 0x475f64], ebx
jmp 0x430206
cmp eax, 2
jne 0x4301f3
mov ecx, edx
imul ecx, ecx, 0x3a0
cmp dword [ecx + 0x475f6c], ebx
jne 0x43021a
cmp dword [ecx + 0x475f68], ebx
jmp 0x430206
cmp eax, 3
jne 0x430208
mov ecx, edx
imul ecx, ecx, 0x3a0
cmp dword [ecx + 0x475f70], ebx
jne 0x43021a
add eax, ebp
cmp eax, 4
jl 0x4301b2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfc
ret
mov dword [0x17c2d18], eax
fld dword [0x17c2de8]
mov eax, edx
fadd qword [0x4449a0]
imul eax, eax, 0x3a0
fstp dword [0x17aad2c]
fldz
push str.wav_switch.wav
mov edi, 0xfffffed4
fst dword [eax + 0x475f7c]
mov dword [0x17c2bec], ebx
fstp dword [eax + 0x475f78]
call fcn.00419a90
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfc
ret