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

Disassembly:
mov ecx, dword [0x479738]
sub esp, 0x100
push ebx
push esi
xor ebx, ebx
push edi
cmp ecx, dword [0x47973c]
jne 0x42b99d
xor eax, eax
jmp 0x42b9b1
mov eax, dword [ecx*4 + 0x471760]
inc ecx
and ecx, 0xff
mov dword [0x479738], ecx
and eax, 0xff
mov ecx, eax
cmp dword [0x4793e0], ebx
je 0x42bbe8
cmp byte [0x47b101], bl
je 0x42b9e2
mov byte [0x47b101], bl
mov dword [0x4793e0], ebx
pop edi
pop esi
pop ebx
add esp, 0x100
ret
cmp ecx, ebx
je 0x42c684
mov eax, 0x16a6440
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x42b9f2
sub eax, esi
cmp ecx, 8
jne 0x42ba1c
cmp eax, 1
jle 0x42c684
mov word [eax + 0x16a643e], 0x5f
pop edi
pop esi
pop ebx
add esp, 0x100
ret
cmp ecx, 0xd
jne 0x42bbc2
mov esi, 1
cmp eax, esi
jle 0x42bbb2
mov byte [eax + 0x16a643f], bl
cmp byte [0x16a6440], 0x2f
jne 0x42ba98
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x28]
push edx
push str.fog__i__i__i
push 0x16a6441
call fcn.00409695
add esp, 0x14
cmp eax, 3
jne 0x42ba98
mov ecx, dword [esp + 0x20]
mov al, byte [0x17b6478]
shl ecx, 8
or ecx, dword [esp + 0x24]
push esi
shl ecx, 8
or ecx, dword [esp + 0x2c]
push 8
shl ecx, 5
lea edx, [esp + 0x3c]
mov byte [esp + 0x3c], 0x16
mov byte [esp + 0x3d], al
mov dword [esp + 0x40], ecx
push edx
jmp 0x42bb09
push 0x74
lea eax, [esp + 0x94]
push ebx
push eax
call fcn.0040f8e0
mov cl, byte [0x17b6478]
xor edx, edx
add esp, 0xc
cmp dword [0x4793e0], esi
mov byte [esp + 0x90], 0xe
setne dl
mov byte [esp + 0x91], cl
inc edx
mov dword [esp + 0x94], edx
xor eax, eax
jmp 0x42bae0
mov cl, byte [eax + 0x16a6440]
mov byte [esp + eax + 0x98], cl
add eax, esi
cmp cl, bl
jne 0x42bae0
push esi
lea eax, [esp + 0x94]
call fcn.00424190
push eax
lea eax, [esp + 0x98]
push eax
call fcn.004351c0
add esp, 0xc
push eax
call fcn.00434610
mov eax, dword [0x17b6478]
add esp, 4
imul eax, eax, 0x398
push 0x16a6440
cmp dword [0x4793e0], esi
jne 0x42bb71
mov ecx, dword [eax + 0x471e74]
shl ecx, 4
add ecx, 0x17d6160
push ecx
lea edx, [eax + 0x471ee8]
push edx
push str._s__s_:__s
push 0x16a6320
call fcn.00409124
add esp, 0x14
push 2
push 0x16a6320
mov eax, 0x478e70
call fcn.004246b0
add esp, 8
jmp 0x42bba0
add eax, 0x471ee8
push eax
push str._s:__s
push 0x16a6320
call fcn.00409124
mov ecx, dword [0x17b6478]
imul ecx, ecx, 0x398
mov eax, dword [ecx + 0x471e74]
add esp, 0x10
call fcn.00424770
push str.wav_chat.wav
mov edi, 0xfffffd44
call fcn.00418a50
add esp, 4
mov dword [0x4793e0], ebx
pop edi
pop esi
pop ebx
add esp, 0x100
ret
cmp eax, 0x50
jge 0x42c684
mov byte [eax + 0x16a643f], cl
mov byte [eax + 0x16a6440], 0x5f
mov byte [eax + 0x16a6441], bl
pop edi
pop esi
pop ebx
add esp, 0x100
ret
mov eax, dword [0x17d5fa4]
cmp eax, ebx
jne 0x42bcd6
cmp ecx, 0x74
je 0x42bc1c
cmp ecx, 0x79
je 0x42bc0d
cmp ecx, 0x54
je 0x42bc1c
cmp ecx, 0x59
jne 0x42bcd6
mov dword [0x4793e0], 2
cmp ecx, 0x54
jne 0x42bc26
mov dword [0x4793e0], 1
mov edi, dword [0x17b6478]
imul edi, edi, 0x398
mov word [0x16a6440], 0x5f
cmp dword [edi + 0x471e4c], ebx
jne 0x42bc7f
cmp dword [edi + 0x471e50], ebx
jne 0x42bc7f
cmp dword [edi + 0x471e54], ebx
jne 0x42bc7f
cmp dword [edi + 0x471e58], ebx
jne 0x42bc7f
cmp dword [edi + 0x471e68], ebx
jne 0x42bc7f
cmp dword [edi + 0x471e5c], ebx
jne 0x42bc7f
cmp dword [edi + 0x471e60], ebx
jne 0x42bc7f
cmp dword [edi + 0x471e64], ebx
je 0x42c684
mov dword [edi + 0x471e64], ebx
mov dword [edi + 0x471e5c], ebx
mov dword [edi + 0x471e68], ebx
mov dword [edi + 0x471e58], ebx
mov dword [edi + 0x471e54], ebx
mov dword [edi + 0x471e50], ebx
mov dword [edi + 0x471e4c], ebx
cmp dword [edi + 0x471e60], ebx
je 0x42bcc7
lea esi, [edi + 0x471b60]
call fcn.00438b50
neg eax
sbb eax, eax
inc eax
mov dword [edi + 0x471e60], eax
call fcn.00429120
pop edi
pop esi
pop ebx
add esp, 0x100
ret
cmp dword [0x17be2a4], ebx
je 0x42be08
cmp eax, ebx
je 0x42bd41
mov ecx, dword [0x47a960]
mov eax, dword [0x47a964]
cmp byte [ecx + 0x47b100], bl
jne 0x42bd05
cmp byte [eax + 0x47b100], bl
je 0x42bf63
mov edx, dword [0x17b6478]
movzx esi, byte [eax + 0x47b100]
mov edi, edx
imul edi, edi, 0x398
mov byte [ecx + 0x47b100], bl
mov dword [0x17be2a4], ebx
mov dword [0x16a68d0], 1
mov dword [edi + 0x471e74], esi
mov byte [eax + 0x47b100], bl
jmp 0x42bf69
mov edx, dword [0x47a960]
mov al, byte [edx + 0x47b100]
mov ecx, dword [0x47a964]
cmp al, bl
jne 0x42bd7e
cmp byte [ecx + 0x47b100], bl
jne 0x42bd7c
cmp byte [0x47b101], bl
je 0x42bf63
mov byte [0x47b101], bl
mov dword [0x17be2a4], ebx
jmp 0x42bf63
cmp al, bl
mov edx, dword [0x17b6478]
je 0x42bd98
mov eax, edx
imul eax, eax, 0x398
mov eax, dword [eax + 0x471e74]
cmp eax, ebx
jne 0x42bdb2
cmp byte [ecx + 0x47b100], bl
je 0x42bdec
mov eax, edx
imul eax, eax, 0x398
mov eax, dword [eax + 0x471e74]
cmp eax, ebx
jne 0x42bdec
xor ecx, ecx
cmp eax, ebx
sete cl
push 1
mov byte [esp + 0x31], dl
lea edx, [esp + 0x30]
push 8
push edx
mov byte [esp + 0x38], 0x18
mov dword [esp + 0x3c], ecx
call fcn.004351c0
add esp, 0xc
push eax
call fcn.00434610
mov edx, dword [0x17b6478]
mov ecx, dword [0x47a964]
add esp, 4
mov eax, dword [0x47a960]
mov byte [eax + 0x47b100], bl
mov byte [ecx + 0x47b100], bl
mov dword [0x17be2a4], ebx
jmp 0x42bf69
cmp dword [0x16a68d0], ebx
je 0x42bf29
cmp eax, ebx
je 0x42bec2
xor ecx, ecx
mov edi, edi
cmp byte [ecx + 0x47b102], bl
jne 0x42be33
inc ecx
cmp ecx, 3
jl 0x42be20
jmp 0x42bf63
mov edx, dword [0x17b6478]
mov eax, edx
imul eax, eax, 0x398
mov dword [eax + 0x471e48], ecx
mov byte [ecx + 0x47b102], bl
xor ecx, ecx
cmp dword [eax + 0x471e74], ebx
mov byte [esp + 0x5d], dl
mov dl, byte [eax + 0x471e48]
setne cl
push 0xf
lea eax, [eax + 0x471ee8]
push eax
mov dword [0x16a68d0], ebx
mov byte [esp + 0x64], 8
mov byte [esp + 0x6c], dl
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x78]
push ecx
mov byte [esp + 0x71], 2
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], 0x7f7f7f
call section..text
add esp, 0xc
push 1
mov byte [esp + 0x83], bl
push 0x24
lea edx, [esp + 0x64]
push edx
call fcn.004351c0
add esp, 0xc
push eax
call fcn.00434610
add esp, 4
jmp 0x42bf63
cmp byte [0x47b101], bl
je 0x42bedb
mov byte [0x47b101], bl
mov dword [0x16a68d0], ebx
jmp 0x42bf63
xor eax, eax
lea ecx, [ecx]
cmp byte [eax + 0x47b102], bl
jne 0x42bef0
inc eax
cmp eax, 3
jl 0x42bee0
jmp 0x42bf63
mov edx, dword [0x17b6478]
mov ecx, edx
imul ecx, ecx, 0x398
mov byte [eax + 0x47b102], bl
mov dword [0x16a68d0], ebx
cmp eax, dword [ecx + 0x471e48]
je 0x42bf69
push 1
mov byte [esp + 0x1d], dl
mov byte [esp + 0x1c], 0x19
mov dword [esp + 0x20], eax
push 8
lea edx, [esp + 0x20]
jmp 0x42beab
cmp eax, ebx
jne 0x42bf63
mov eax, dword [0x47a930]
cmp byte [eax + 0x47b100], bl
je 0x42bf46
mov dword [0x17be2a4], 1
jmp 0x42bf5d
mov eax, dword [0x47a934]
cmp byte [eax + 0x47b100], bl
je 0x42bf63
mov dword [0x16a68d0], 1
mov byte [eax + 0x47b100], bl
mov edx, dword [0x17b6478]
mov eax, dword [0x47a918]
cmp byte [eax + 0x47b100], bl
je 0x42bf89
mov ecx, dword [0x47a9c0]
push ebx
push ebx
push 0x10
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x42bfcd
mov eax, dword [0x47a91c]
cmp byte [eax + 0x47b100], bl
je 0x42bfd3
push 0x4417c4
push str.vxl_lastsav.vxl
mov byte [eax + 0x47b100], bl
call fcn.0040984a
add esp, 8
cmp eax, ebx
je 0x42bfb9
mov edi, eax
call fcn.0041c240
push 3
push str.Saved_map_as_vxl_lastsav.vxl
mov eax, 0x478e70
call fcn.004246b0
add esp, 8
mov edx, dword [0x17b6478]
mov eax, dword [0x47a924]
cmp byte [eax + 0x47b100], bl
je 0x42c033
mov byte [eax + 0x47b100], bl
mov eax, dword [0x16a68bc]
dec eax
xor edx, edx
cmp eax, ebx
setle dl
dec edx
and edx, eax
mov dword [0x16a68bc], edx
call fcn.004181c0
mov eax, dword [0x16a68bc]
push eax
push str.Volume:__i
push 0x16a6440
call fcn.00409124
add esp, 0xc
push 3
push 0x16a6440
mov eax, 0x478e70
call fcn.004246b0
mov edx, dword [0x17b6478]
add esp, 8
mov eax, dword [0x47a920]
cmp byte [eax + 0x47b100], bl
je 0x42c098
mov byte [eax + 0x47b100], bl
mov eax, dword [0x16a68bc]
inc eax
mov dword [0x16a68bc], eax
cmp eax, 0xa
jl 0x42c060
mov dword [0x16a68bc], 0xa
call fcn.004181c0
mov ecx, dword [0x16a68bc]
push ecx
push str.Volume:__i
push 0x16a6440
call fcn.00409124
add esp, 0xc
push 3
push 0x16a6440
mov eax, 0x478e70
call fcn.004246b0
mov edx, dword [0x17b6478]
add esp, 8
mov eax, dword [0x47a928]
cmp byte [eax + 0x47b100], bl
je 0x42c0ce
cmp dword [0x47a8c4], ebx
je 0x42c0ce
mov byte [eax + 0x47b100], bl
cmp dword [0x47aee8], ebx
je 0x42c0ce
push ebx
mov dword [0x47aee8], ebx
call dword [sym.imp.USER32.dll_SetActiveWindow]
mov edx, dword [0x17b6478]
mov ecx, edx
imul ecx, ecx, 0x398
cmp dword [ecx + 0x471e78], ebx
je 0x42c684
cmp dword [0x17d5fa4], ebx
jne 0x42c684
fld dword [0x67fac8]
fld dword [0x17c0f50]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x42c15e
mov dl, byte [ecx + 0x471ed4]
fstp st(0)
mov eax, dword [ecx + 0x471e00]
mov byte [esp + 0x4d], dl
mov edx, dword [ecx + 0x471e04]
mov dword [esp + 0x50], eax
mov eax, dword [ecx + 0x471e08]
push 2
lea ecx, [esp + 0x50]
push 0x10
push ecx
mov byte [esp + 0x58], bl
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], eax
call fcn.004351c0
add esp, 0xc
push eax
call fcn.00434610
fld dword [0x67fac8]
fld qword [0x441930]
fadd st(1)
fstp dword [0x17c0f50]
jmp 0x42c1c1
fld dword [0x17c0f44]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x42c1ca
mov eax, dword [ecx + 0x471e40]
fstp st(0)
mov byte [esp + 0x3d], dl
mov edx, dword [ecx + 0x471e3c]
mov ecx, dword [ecx + 0x471e44]
push 2
mov dword [esp + 0x44], edx
lea edx, [esp + 0x40]
push 0x10
push edx
mov byte [esp + 0x48], 1
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
call fcn.004351c0
add esp, 0xc
push eax
call fcn.00434610
fld dword [0x67fac8]
fld qword [0x441ac0]
fadd st(1)
fstp dword [0x17c0f44]
mov edx, dword [0x17b6478]
add esp, 4
mov eax, dword [0x16a68b8]
fldz
cmp eax, ebx
je 0x42c2fc
mov eax, dword [0x17d6180]
jge 0x42c27a
cmp eax, ebx
jne 0x42c1f4
mov dword [0x17d6180], 3
jmp 0x42c1ff
dec eax
mov dword [0x17d6180], eax
cmp eax, 3
jne 0x42c21f
mov eax, edx
imul eax, eax, 0x398
cmp dword [eax + 0x471e98], ebx
jne 0x42c36c
mov dword [0x17d6180], 2
jmp 0x42c224
cmp eax, 2
jne 0x42c261
mov eax, edx
imul eax, eax, 0x398
cmp dword [eax + 0x471e94], ebx
jne 0x42c36c
cmp dword [eax + 0x471e90], ebx
jne 0x42c36c
mov ecx, edx
imul ecx, ecx, 0x398
cmp dword [ecx + 0x471e8c], ebx
mov dword [0x17d6180], 1
jmp 0x42c2f2
cmp eax, 1
jne 0x42c36c
mov ecx, edx
imul ecx, ecx, 0x398
cmp dword [ecx + 0x471e8c], ebx
jmp 0x42c2f2
cmp eax, 3
je 0x42c2f4
inc eax
mov dword [0x17d6180], eax
cmp eax, 1
jne 0x42c2aa
mov eax, edx
imul eax, eax, 0x398
cmp dword [eax + 0x471e8c], ebx
jne 0x42c36c
mov dword [0x17d6180], 2
jmp 0x42c2af
cmp eax, 2
jne 0x42c2db
mov eax, edx
imul eax, eax, 0x398
cmp dword [eax + 0x471e94], ebx
jne 0x42c36c
cmp dword [eax + 0x471e90], ebx
jne 0x42c36c
mov dword [0x17d6180], 3
jmp 0x42c2e4
cmp eax, 3
jne 0x42c36c
mov ecx, edx
imul ecx, ecx, 0x398
cmp dword [ecx + 0x471e98], ebx
jne 0x42c36c
mov dword [0x17d6180], ebx
jmp 0x42c36c
mov esi, dword [0x17d6180]
xor eax, eax
cmp byte [eax + 0x47b102], bl
je 0x42c35b
cmp eax, esi
je 0x42c35b
cmp eax, ebx
je 0x42c367
cmp eax, 1
jne 0x42c329
mov ecx, edx
imul ecx, ecx, 0x398
cmp dword [ecx + 0x471e8c], ebx
jmp 0x42c359
cmp eax, 2
jne 0x42c346
mov ecx, edx
imul ecx, ecx, 0x398
cmp dword [ecx + 0x471e94], ebx
jne 0x42c367
cmp dword [ecx + 0x471e90], ebx
jmp 0x42c359
cmp eax, 3
jne 0x42c35b
mov ecx, edx
imul ecx, ecx, 0x398
cmp dword [ecx + 0x471e98], ebx
jne 0x42c367
inc eax
cmp eax, 4
jl 0x42c304
fstp st(0)
fstp st(0)
jmp 0x42c3ac
mov dword [0x17d6180], eax
mov eax, edx
fxch st(1)
fadd qword [0x441940]
imul eax, eax, 0x398
fstp dword [0x17b63dc]
push str.wav_switch.wav
mov edi, 0xfffffed4
fst dword [eax + 0x471ea4]
mov dword [0x17d5fa0], ebx
fst dword [eax + 0x471ea0]
fstp dword [eax + 0x471ea8]
call fcn.00418a50
add esp, 4
call fcn.0042b610
mov eax, dword [0x47a900]
cmp byte [eax + 0x47b100], bl
je 0x42c3e3
mov byte [eax + 0x47b100], bl
cmp dword [0x17d4f80], ebx
je 0x42c3d4
mov dword [0x17d4f80], ebx
jmp 0x42c3e3
call fcn.004272c0
mov dword [0x17d4f80], 1
mov edx, dword [0x47a904]
cmp byte [edx + 0x47b100], bl
je 0x42c4ce
mov ecx, dword [0x17b6478]
imul ecx, ecx, 0x398
cmp dword [ecx + 0x471e94], ebx
je 0x42c4ce
mov eax, dword [ecx + 0x471e48]
lea edx, [eax + eax*8]
mov eax, dword [ecx + 0x471e90]
add edx, edx
add edx, edx
add edx, edx
cmp eax, dword [edx + 0x446620]
jge 0x42c4ce
cmp dword [0x17d6180], 2
jne 0x42c4ce
fld dword [ecx + 0x471ea8]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x42c684
fld dword [edx + 0x446610]
fadd dword [0x67fac8]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [ecx + 0x471ea8]
mov ecx, dword [ecx + 0x471e48]
lea eax, [ecx + ecx*8]
add eax, eax
add eax, eax
add eax, eax
cmp dword [eax + 0x446628], ebx
je 0x42c4a3
mov ecx, dword [eax + 0x446608]
fstp dword [0x17b63dc]
push ecx
mov edi, 0xfffffed4
mov dword [0x17d5fa0], ebx
call fcn.00418a50
add esp, 4
jmp 0x42c4a5
fstp st(0)
mov dl, byte [0x17b6478]
push 1
lea eax, [esp + 0x14]
push 2
push eax
mov byte [esp + 0x1c], 0x17
mov byte [esp + 0x1d], dl
call fcn.004351c0
add esp, 0xc
push eax
call fcn.00434610
add esp, 4
cmp dword [0x17d6180], 1
jne 0x42c684
fld dword [0x17b63dc]
fld dword [0x67fac8]
fcompp
fnstsw ax
test ah, 1
jne 0x42c684
mov ecx, dword [0x47a908]
cmp byte [ecx + 0x47b100], bl
je 0x42c54c
mov eax, dword [0x17b63e0]
cmp eax, ebx
jge 0x42c52b
mov eax, 3
mov dword [0x17b63e0], eax
mov eax, dword [eax*4 + 0x17be2c0]
call fcn.00427dc0
pop edi
pop esi
pop ebx
add esp, 0x100
ret
add eax, 0xfffffff8
and eax, 0x3f
mov dword [0x17b63e0], eax
mov eax, dword [eax*4 + 0x17be2c0]
call fcn.00427dc0
pop edi
pop esi
pop ebx
add esp, 0x100
ret
mov edx, dword [0x47a90c]
cmp byte [edx + 0x47b100], bl
je 0x42c5a4
mov eax, dword [0x17b63e0]
cmp eax, ebx
jge 0x42c583
mov eax, 3
mov dword [0x17b63e0], eax
mov eax, dword [eax*4 + 0x17be2c0]
call fcn.00427dc0
pop edi
pop esi
pop ebx
add esp, 0x100
ret
add eax, 8
and eax, 0x3f
mov dword [0x17b63e0], eax
mov eax, dword [eax*4 + 0x17be2c0]
call fcn.00427dc0
pop edi
pop esi
pop ebx
add esp, 0x100
ret
mov eax, dword [0x47a910]
cmp byte [eax + 0x47b100], bl
je 0x42c604
mov eax, dword [0x17b63e0]
cmp eax, ebx
jge 0x42c5da
mov eax, 3
mov dword [0x17b63e0], eax
mov eax, dword [eax*4 + 0x17be2c0]
call fcn.00427dc0
pop edi
pop esi
pop ebx
add esp, 0x100
ret
lea ecx, [eax - 1]
mov edx, eax
and ecx, 7
and edx, 7
sub ecx, edx
add eax, ecx
mov dword [0x17b63e0], eax
mov eax, dword [eax*4 + 0x17be2c0]
call fcn.00427dc0
pop edi
pop esi
pop ebx
add esp, 0x100
ret
mov eax, dword [0x47a914]
cmp byte [eax + 0x47b100], bl
je 0x42c61f
mov eax, dword [0x17b63e0]
cmp eax, ebx
jl 0x42c5ba
lea ecx, [eax + 1]
jmp 0x42c5dd
test byte [0x17c0f48], 2
je 0x42c684
test byte [0x17d5fa8], 2
jne 0x42c684
mov ecx, dword [0x17b6478]
imul ecx, ecx, 0x398
lea eax, [esp + 0x80]
push eax
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x8c]
push eax
lea eax, [ecx + 0x471e3c]
lea ecx, [ecx + 0x471e0c]
call fcn.0041c310
mov eax, dword [esp + 0x20]
add esp, 0xc
cmp eax, ebx
je 0x42c684
mov eax, dword [eax]
and eax, 0xffffff
mov dword [0x17b63e0], 0xffffffff
call fcn.00427dc0
pop edi
pop esi
pop ebx
add esp, 0x100
ret