Function at 0x435050
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x59b0aa
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
push ebx
push ebp
push esi
push edi
push 0
mov ebx, ecx
call fcn.00506530
push str.hover.wav
push eax
mov dword [0x5dfdec], eax
call fcn.00506a60
push 0
call fcn.00506530
push str.ok.wav
push eax
mov dword [0x5dfdf0], eax
call fcn.00506a60
push 0
call fcn.00506530
push str.in.wav
push eax
mov dword [0x5dfdf4], eax
call fcn.00506a60
push 0
call fcn.00506530
push str.out.wav
push eax
mov dword [0x5dfdf8], eax
call fcn.00506a60
push 0
call fcn.00506530
push str.cancel.wav
push eax
mov dword [0x5dfdfc], eax
call fcn.00506a60
push 0
call fcn.00506530
add esp, 0x40
mov dword [0x5dfe00], eax
push str.flip.wav
push eax
call fcn.00506a60
add esp, 8
mov ecx, ebx
call fcn.0045a7a0
mov ecx, ebx
call fcn.0045a6e0
push 0x6c
call fcn.00509a33
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x38], 0
je 0x43512f
mov ecx, eax
call fcn.0046b6e0
jmp 0x435131
xor eax, eax
or ebp, 0xffffffff
push 0x58
mov dword [esp + 0x3c], ebp
mov dword [ebx + 0x2cc], eax
call fcn.00509a33
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x38], 1
je 0x435161
mov ecx, eax
call fcn.0046baf0
jmp 0x435163
xor eax, eax
sub esp, 0x14
mov ecx, 5
lea esi, [esp + 0x30]
mov edi, esp
mov dword [esp + 0x40], 0x3f800000
mov dword [esp + 0x38], 0x43828000
mov dword [esp + 0x3c], 0x43390000
mov dword [esp + 0x30], 0x43740000
mov dword [esp + 0x34], 0x433e0000
mov dword [esp + 0x4c], ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov dword [ebx + 0x2d0], eax
call fcn.0046bd80
mov eax, dword [ebx + 0x2d0]
push eax
xor eax, eax
sub esp, 0x10
mov ecx, esp
mov dword [ecx], eax
mov eax, 1
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov ecx, dword [ebx + 0x2cc]
call fcn.00463250
mov ecx, dword [ebx + 0x2cc]
push 0
mov edx, dword [ecx]
call dword [edx + 0x58]
push 0x6c
call fcn.00509a33
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
mov dword [esp + 0x38], 2
je 0x43520d
mov ecx, esi
call fcn.00463150
mov dword [esi], 0x5a86a0
jmp 0x43520f
xor esi, esi
push 0x34
mov dword [esp + 0x3c], ebp
mov dword [ebx + 0x2d8], esi
call fcn.00509a33
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x38], 3
je 0x43523c
mov ecx, eax
call fcn.0046c470
jmp 0x43523e
xor eax, eax
sub esp, 0x14
mov ecx, 5
lea esi, [esp + 0x30]
mov edi, esp
mov dword [esp + 0x38], 0x43960000
mov dword [esp + 0x3c], 0x42c00000
mov dword [esp + 0x30], 0x43850000
mov dword [esp + 0x34], 0x43520000
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov dword [esp + 0x4c], ebp
mov dword [ebx + 0x2d4], eax
call fcn.0046c640
mov eax, dword [ebx + 0x2d4]
push eax
xor eax, eax
sub esp, 0x10
mov ecx, esp
mov dword [ecx], eax
mov eax, 1
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov ecx, dword [ebx + 0x2d8]
call fcn.00463250
mov ecx, dword [ebx + 0x2d8]
push 0
mov edx, dword [ecx]
call dword [edx + 0x58]
push 0x6c
call fcn.00509a33
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
mov dword [esp + 0x38], 4
je 0x4352e0
mov ecx, esi
call fcn.00463150
mov dword [esi], 0x5a8640
jmp 0x4352e2
xor esi, esi
push 0x48
mov dword [esp + 0x3c], ebp
mov dword [ebx + 0x308], esi
call fcn.00509a33
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x38], 5
je 0x43530f
mov ecx, eax
call fcn.0046cf10
jmp 0x435311
xor eax, eax
sub esp, 0x14
mov ecx, 5
lea esi, [esp + 0x30]
mov edi, esp
mov dword [esp + 0x38], 0x43a00000
mov dword [esp + 0x3c], 0x43400000
mov dword [esp + 0x30], 0x43730000
mov dword [esp + 0x34], 0x433a0000
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov dword [esp + 0x4c], ebp
mov dword [ebx + 0x304], eax
call fcn.0046d080
mov eax, dword [ebx + 0x304]
push eax
xor eax, eax
sub esp, 0x10
mov ecx, esp
mov dword [ecx], eax
mov eax, 1
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov ecx, dword [ebx + 0x308]
call fcn.00463250
mov ecx, dword [ebx + 0x308]
push 0
mov edx, dword [ecx]
call dword [edx + 0x58]
push 0x6c
call fcn.00509a33
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
mov dword [esp + 0x38], 6
je 0x4353b3
mov ecx, esi
call fcn.00463150
mov dword [esi], 0x5a85e0
jmp 0x4353b5
xor esi, esi
push 0x3c
mov dword [esp + 0x3c], ebp
mov dword [ebx + 0x2dc], esi
call fcn.00509a33
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x38], 7
je 0x4353e2
mov ecx, eax
call fcn.0046df70
jmp 0x4353e4
xor eax, eax
push 1
mov ecx, 5
sub esp, 0x14
lea esi, [esp + 0x34]
mov edi, esp
mov dword [esp + 0x3c], 0x43828000
mov dword [esp + 0x40], 0x43390000
mov dword [esp + 0x34], 0x43740000
mov dword [esp + 0x38], 0x433e0000
mov dword [esp + 0x50], ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov dword [ebx + 0x2e0], eax
call fcn.0046e650
mov eax, dword [ebx + 0x2e0]
push eax
xor eax, eax
sub esp, 0x10
mov ecx, esp
mov dword [ecx], eax
mov eax, 1
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov ecx, dword [ebx + 0x2dc]
call fcn.00463250
mov ecx, dword [ebx + 0x2dc]
xor edi, edi
push edi
mov edx, dword [ecx]
call dword [edx + 0x58]
push 0x484
mov dword [esp + 0x20], edi
call fcn.00509a33
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, edi
mov dword [esp + 0x38], 8
je 0x435496
mov ecx, dword [str..mc]
push ecx
push 1
push str.mua000.mcb
mov ecx, eax
call fcn.004a3b80
jmp 0x435498
xor eax, eax
mov dword [ebx + 0x40], eax
mov eax, dword [ebx + 0x24]
cmp eax, edi
mov dword [esp + 0x38], ebp
je 0x4354b5
call eax
cmp eax, 1
jne 0x4354b5
mov dword [esp + 0x1c], 2
push 0x6c
call fcn.00509a33
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
cmp esi, edi
mov dword [esp + 0x38], 9
je 0x4354e4
mov ecx, esi
call fcn.00463150
mov dword [esi], 0x5a8580
mov dword [esp + 0x10], esi
jmp 0x4354ea
mov dword [esp + 0x10], edi
mov esi, edi
push 0xc
mov dword [esp + 0x3c], ebp
mov dword [esi + 4], str.Con_Forward
call fcn.00509a33
add esp, 4
cmp eax, edi
je 0x43550e
mov dword [eax + 4], edi
mov dword [eax], 0x5a8528
mov edi, eax
push str.mub001.mcb
mov ecx, edi
call fcn.004640c0
mov eax, dword [esp + 0x1c]
push edi
sub esp, 0x10
mov ecx, esi
mov edx, esp
mov dword [edx], eax
mov eax, 1
mov dword [edx + 4], eax
mov dword [edx + 8], eax
xor eax, eax
mov dword [edx + 0xc], eax
call fcn.00463250
push 3
mov ecx, esi
call fcn.0045b2a0
mov eax, dword [ebx + 0x24]
xor esi, esi
test eax, eax
je 0x43555b
call eax
cmp eax, 1
jne 0x43555b
mov esi, 2
push 0x6c
call fcn.00509a33
mov ebp, eax
add esp, 4
mov dword [esp + 0x18], ebp
test ebp, ebp
mov dword [esp + 0x38], 0xa
je 0x43558b
mov ecx, ebp
call fcn.00463150
mov dword [ebp], 0x5a8580
mov dword [esp + 0x14], ebp
jmp 0x435597
mov dword [esp + 0x14], 0
mov ebp, dword [esp + 0x14]
push 0xc
mov dword [esp + 0x3c], 0xffffffff
mov dword [ebp + 4], str.Con_Forward
call fcn.00509a33
xor edi, edi
add esp, 4
cmp eax, edi
je 0x4355c1
mov dword [eax + 4], edi
mov dword [eax], 0x5a8528
mov edi, eax
push str.mub002.mcb
mov ecx, edi
call fcn.004640c0
push edi
sub esp, 0x10
mov ecx, esp
mov dword [ecx], esi
mov esi, 1
mov eax, esi
mov dword [ecx + 4], esi
mov dword [ecx + 8], eax
xor eax, eax
mov dword [ecx + 0xc], eax
mov ecx, ebp
call fcn.00463250
push 0xa
mov ecx, ebp
call fcn.0045b2a0
mov eax, dword [ebx + 0x30]
xor ebp, ebp
cmp eax, ebp
mov dword [esp + 0x1c], ebp
je 0x435612
call eax
test eax, eax
jne 0x435612
mov dword [esp + 0x1c], 2
push 0x6c
call fcn.00509a33
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
cmp edi, ebp
mov dword [esp + 0x38], 0xb
je 0x43563d
mov ecx, edi
call fcn.00463150
mov dword [edi], 0x5a8580
jmp 0x43563f
xor edi, edi
push 0xc
mov dword [esp + 0x3c], 0xffffffff
mov dword [edi + 4], str.Con_Forward
call fcn.00509a33
add esp, 4
cmp eax, ebp
je 0x435667
mov dword [eax + 4], ebp
mov dword [eax], 0x5a8528
mov ebp, eax
push str.mub003.mcb
mov ecx, ebp
call fcn.004640c0
mov eax, dword [esp + 0x1c]
push ebp
sub esp, 0x10
mov ecx, edi
mov edx, esp
mov dword [edx], eax
mov eax, 1
mov dword [edx + 4], esi
mov dword [edx + 8], eax
xor eax, eax
mov dword [edx + 0xc], eax
call fcn.00463250
push 7
mov ecx, edi
call fcn.0045b2a0
push 0x6c
mov dword [ebx + 0x338], edi
call fcn.00509a33
mov ebp, eax
add esp, 4
mov dword [esp + 0x18], ebp
test ebp, ebp
mov dword [esp + 0x38], 0xc
je 0x4356d1
mov ecx, ebp
call fcn.00463150
mov dword [ebp], 0x5a8580
jmp 0x4356d3
xor ebp, ebp
push 0xc
mov dword [esp + 0x3c], 0xffffffff
mov dword [ebp + 4], str.Con_Forward
call fcn.00509a33
xor esi, esi
add esp, 4
cmp eax, esi
je 0x4356fd
mov dword [eax + 4], esi
mov dword [eax], 0x5a8528
mov esi, eax
push str.mub004.mcb
mov ecx, esi
call fcn.004640c0
push esi
xor eax, eax
sub esp, 0x10
mov ecx, esp
mov dword [ecx], eax
mov eax, 1
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
xor eax, eax
mov dword [ecx + 0xc], eax
mov ecx, ebp
call fcn.00463250
push 8
mov ecx, ebp
call fcn.0045b2a0
push 0x6c
call fcn.00509a33
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
mov dword [esp + 0x38], 0xd
je 0x43575e
mov ecx, esi
call fcn.00463150
mov dword [esi], 0x5a8580
jmp 0x435760
xor esi, esi
push 0xc
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 4], str.Con_Forward
call fcn.00509a33
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x43578e
mov dword [eax + 4], ecx
mov dword [eax], 0x5a8528
mov dword [esp + 0x18], eax
jmp 0x435792
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
push str.mub016.mcb
call fcn.004640c0
mov edx, dword [esp + 0x18]
xor eax, eax
push edx
sub esp, 0x10
mov ecx, esp
mov dword [ecx], eax
mov eax, 1
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
xor eax, eax
mov dword [ecx + 0xc], eax
mov ecx, esi
call fcn.00463250
push 2
mov ecx, esi
call fcn.0045b2a0
push 0xc
call fcn.00509a33
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x4357f0
mov dword [eax + 4], ecx
mov dword [eax], 0x5a84d0
mov dword [eax + 8], ecx
mov dword [esp + 0x18], eax
jmp 0x4357f4
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
push str.mua001.mcb
call fcn.0046a9a0
mov edx, dword [esp + 0x18]
xor eax, eax
push edx
sub esp, 0x10
mov ecx, esp
mov dword [ecx], eax
mov eax, 1
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
xor eax, eax
mov dword [ecx + 0xc], eax
mov ecx, dword [ebx + 0x284]
call fcn.00463250
mov edx, dword [esp + 0x10]
mov ecx, dword [ebx + 0x284]
push edx
call fcn.00462ff0
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x284]
push eax
call fcn.00462ff0
mov ecx, dword [ebx + 0x284]
push edi
call fcn.00462ff0
mov ecx, dword [ebx + 0x284]
push ebp
call fcn.00462ff0
mov ecx, dword [ebx + 0x284]
push esi
call fcn.00462ff0
mov ecx, dword [ebx + 0x2b8]
push ecx
mov ecx, dword [esp + 0x14]
call fcn.00463420
mov edx, dword [ebx + 0x288]
mov ecx, dword [esp + 0x14]
push edx
call fcn.00463420
mov eax, dword [ebx + 0x2a4]
mov ecx, edi
push eax
call fcn.00463420
mov ecx, dword [ebx + 0x290]
push ecx
mov ecx, ebp
call fcn.00463420
mov edx, dword [ebx + 0x2a0]
mov ecx, esi
push edx
call fcn.00463420
mov ecx, ebx
call fcn.00435950
mov ecx, ebx
call fcn.004368f0
mov ecx, ebx
call fcn.0043c450
mov ecx, ebx
call fcn.0043cbc0
mov ecx, ebx
call fcn.0043dbd0
mov ecx, ebx
call fcn.0043ed70
mov ecx, ebx
call fcn.00443c70
mov ecx, ebx
call fcn.00443f60
mov ecx, ebx
call fcn.00445260
mov ecx, ebx
call fcn.004455f0
mov ecx, ebx
call fcn.00445c50
mov ecx, ebx
call fcn.00446270
mov ecx, ebx
call fcn.0044bc90
mov eax, dword [ebx + 0x284]
push eax
mov ecx, dword [0x5e00ac]
call fcn.00462250
mov ecx, dword [ebx + 0x284]
push ecx
mov ecx, ebx
call fcn.0045a410
mov ecx, dword [esp + 0x30]
pop edi
pop esi
pop ebp
mov eax, 1
mov dword fs:[0], ecx
pop ebx
add esp, 0x2c
ret