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

Disassembly:
push 0xffffffffffffffff
push 0x4777fe
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1a0
mov eax, dword [0x4ab244]
push ebx
push ebp
push esi
mov esi, ecx
mov dword [esp + 0x1a8], eax
mov eax, dword [esi + 0x2d5c]
push edi
mov edi, dword [esi + 0x2d54]
mov ebp, eax
add edi, ebp
mov dword [esi + 0x24], eax
movzx ecx, byte [edi + 1]
mov ebx, eax
add ebx, ecx
mov dword [esi + 0x2d5c], ebx
movzx eax, byte [edi]
cmp eax, 0x5d
mov ecx, ebx
ja case.0x43988c.48
jmp dword [eax*4 + 0x43afa0]
movzx edx, word [edi + 2]
mov eax, dword [edi + 4]
mov dword [esi + edx*4 + 0xda8], eax
jmp case.0x43988c.48
movzx ecx, word [edi + 6]
movzx edx, word [edi + 4]
mov eax, dword [esi + ecx*4 + 0xda8]
mov dword [esi + edx*4 + 0xda8], eax
jmp case.0x43988c.48
movzx eax, word [edi + 2]
mov ecx, dword [edi + 4]
add dword [esi + eax*4 + 0xda8], ecx
jmp case.0x43988c.48
mov eax, dword [edi + 4]
mov ecx, dword [esi + 8]
or ebp, 0xffffffff
cmp eax, ebp
je 0x439905
lea edx, [esp + 0xac]
mov ebp, eax
push edx
push ebp
call fcn.00424b10
mov ecx, dword [esi + 8]
push 1
lea eax, [esp + 0xb0]
push eax
call fcn.00429a50
jmp 0x43990a
call fcn.00426460
mov edx, dword [edi + 8]
lea ecx, [esp + 0xac]
push ecx
mov ecx, dword [esi + 8]
push edx
call fcn.00425850
mov eax, dword [esi + 0x24]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x2db0]
xor ebx, ebx
cmp eax, ebx
jne 0x439980
mov ecx, dword [esi + 8]
call fcn.00424a60
test eax, eax
mov eax, dword [esi + 0x2da0]
jne 0x43995c
cmp eax, 2
jne 0x439980
mov ecx, dword [esi + 8]
push ebx
push ebx
push 7
call fcn.0042d970
mov ecx, esi
call fcn.00436120
jmp 0x439980
cmp eax, 1
jne 0x439980
mov ecx, esi
call fcn.00436150
test eax, eax
je 0x439980
mov ecx, esi
call fcn.00436d90
mov ecx, dword [esi + 8]
push ebx
push 1
push 7
call fcn.0042d970
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], ebx
mov byte [esp + 0x78], 0
mov al, byte [edi + 3]
cmp al, 0xff
mov dword [esp + 0x1b8], ebx
je 0x4399fb
movzx ecx, al
push ecx
mov ecx, esi
call fcn.00435c80
push eax
lea ecx, [esp + 0x78]
call fcn.00404ad0
cmp dword [esp + 0x8c], 0x10
mov eax, dword [esp + 0x78]
jae 0x4399cc
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x14]
call fcn.00402e80
lea edx, [esp + 0x10]
push edx
mov ecx, esi
mov byte [esp + 0x1bc], 1
call fcn.00437620
lea ecx, [esp + 0x10]
mov byte [esp + 0x1b8], 0
call fcn.004029e0
xor ebx, ebx
cmp ebp, 0xffffffff
je 0x439a07
mov ebx, 1
cmp dword [esi + 0x2da0], 2
je 0x439a98
mov ecx, dword [esi + 8]
push 0xffffff
lea eax, [esp + 0xb0]
push eax
call fcn.00425620
mov ecx, dword [edi + 8]
push ecx
mov ecx, dword [esi + 8]
add ebx, eax
mov dword [esp + 0x94], ebp
call fcn.00424ba0
mov dword [esp + 0x94], eax
cmp dword [esp + 0x8c], 0x10
mov eax, dword [esp + 0x78]
mov dword [esp + 0x98], ebx
jae 0x439a5e
lea eax, [esp + 0x78]
push eax
lea edx, [esp + 0xa0]
push edx
call dword [0x485278]
mov ecx, dword [esi + 8]
lea eax, [esp + 0x90]
push eax
call fcn.00424ad0
push edi
mov ecx, esi
call fcn.00435fe0
lea ecx, [esp + 0x74]
call fcn.004011c0
mov eax, 0xc
jmp 0x43af78
push 0
push 0xffffff
lea ecx, [esp + 0xb4]
push ecx
mov ecx, dword [esi + 8]
call fcn.0042d460
mov edx, dword [edi + 8]
mov ecx, dword [esi + 8]
push edx
add ebx, eax
mov dword [esp + 0x94], ebp
call fcn.00424ba0
mov dword [esp + 0x94], eax
cmp dword [esp + 0x8c], 0x10
mov eax, dword [esp + 0x78]
mov dword [esp + 0x98], ebx
jae 0x439ae4
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0xa0]
push eax
call dword [0x485278]
lea ecx, [esp + 0x90]
push ecx
mov ecx, dword [esi + 8]
call fcn.00424ad0
push edi
mov ecx, esi
call fcn.00435fe0
lea ecx, [esp + 0x74]
call fcn.004011c0
mov eax, 1
jmp 0x43af78
mov ecx, dword [esi + 8]
call fcn.0042dbc0
mov eax, 1
jmp 0x43af78
mov edx, dword [edi + 4]
mov dword [esi + 0xd98], edx
jmp case.0x43988c.48
mov dword [esi + 0xd98], 0
jmp case.0x43988c.48
mov dword [esi + 0xd9c], 1
jmp case.0x43988c.48
mov dword [esi + 0xd9c], 0
jmp case.0x43988c.48
movzx eax, byte [edi + 3]
push eax
mov ecx, esi
call fcn.00435c80
push eax
lea ecx, [esp + 0x78]
call fcn.004013d0
push str..wav
lea ecx, [esp + 0x78]
mov dword [esp + 0x1bc], 2
call fcn.00406fc0
cmp dword [esp + 0x8c], 0x10
mov eax, dword [esp + 0x78]
jae 0x439bac
lea eax, [esp + 0x78]
mov ecx, dword [esi + 8]
push 0
push 0
push eax
call fcn.0042a600
lea ecx, [esp + 0x74]
call fcn.004011c0
jmp case.0x43988c.48
movzx ecx, byte [edi + 3]
push ecx
mov ecx, esi
call fcn.00435c80
push eax
lea ecx, [esp + 0x18]
call fcn.00402e80
lea edx, [esp + 0x14]
push edx
mov ecx, esi
mov dword [esp + 0x1bc], 3
call fcn.00437620
lea ecx, [esp + 0x14]
mov dword [esp + 0x18], eax
call fcn.004029e0
jmp case.0x43988c.48
mov ecx, dword [esi + 8]
mov byte [esi + 0xb2c], 0
call fcn.004267a0
jmp case.0x43988c.48
movzx eax, byte [edi + 3]
push eax
mov ecx, esi
call fcn.00435c80
push eax
lea ecx, [esp + 0x78]
call fcn.004013d0
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x24]
push edx
mov dword [esp + 0x1c0], 4
call fcn.00407960
add esp, 8
lea ecx, [esp + 0x20]
call fcn.004011c0
push str..mid
lea ecx, [esp + 0x78]
call fcn.00406fc0
cmp dword [esp + 0x8c], 0x10
mov eax, dword [esp + 0x78]
jae 0x439c76
lea eax, [esp + 0x78]
push eax
mov ecx, esi
call fcn.004365c0
lea ecx, [esp + 0x74]
call fcn.004011c0
jmp case.0x43988c.48
movzx eax, byte [edi + 3]
push eax
mov ecx, esi
call fcn.00435c80
push eax
lea ecx, [esp + 0x78]
call fcn.004013d0
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x5c]
push edx
mov dword [esp + 0x1c0], 5
call fcn.00407960
add esp, 8
lea ecx, [esp + 0x58]
call fcn.004011c0
push str..mid
lea ecx, [esp + 0x78]
call fcn.00406fc0
cmp dword [esp + 0x8c], 0x10
mov eax, dword [esp + 0x78]
jae 0x439ce8
lea eax, [esp + 0x78]
push eax
mov ecx, esi
call fcn.004365e0
lea ecx, [esp + 0x74]
call fcn.004011c0
jmp case.0x43988c.48
movzx eax, byte [edi + 3]
push eax
mov ecx, esi
call fcn.00435c80
push eax
lea ecx, [esp + 0x20]
call fcn.00402e80
lea ecx, [esp + 0x1c]
call fcn.004029e0
mov eax, 7
jmp 0x43af78
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x64
push ecx
mov ecx, esi
call fcn.00437a40
mov eax, 3
jmp 0x43af78
cmp dword [esi + 0x2da0], 2
je case.0x43988c.48
mov edx, dword [edi + 4]
imul edx, edx, 0x64
push edx
mov ecx, esi
call fcn.00437a40
mov eax, 0x10
jmp 0x43af78
mov eax, dword [edi + 4]
mov dword [esi + 0x2d5c], eax
jmp case.0x43988c.48
movzx ebx, byte [edi + 2]
mov edx, dword [edi + 8]
mov ecx, ebx
and ecx, 2
push ecx
push edx
mov ecx, esi
call fcn.00435d00
mov ebp, eax
mov eax, dword [edi + 4]
and ebx, 1
push ebx
push eax
mov ecx, esi
call fcn.00435d00
cmp eax, ebp
jne case.0x43988c.48
mov ecx, dword [edi + 0xc]
mov dword [esi + 0x2d5c], ecx
jmp case.0x43988c.48
movzx ebx, byte [edi + 2]
mov eax, dword [edi + 8]
mov edx, ebx
and edx, 2
push edx
push eax
mov ecx, esi
call fcn.00435d00
mov ecx, dword [edi + 4]
and ebx, 1
push ebx
push ecx
mov ecx, esi
mov ebp, eax
call fcn.00435d00
cmp eax, ebp
je case.0x43988c.48
mov edx, dword [edi + 0xc]
mov dword [esi + 0x2d5c], edx
jmp case.0x43988c.48
movzx ebx, byte [edi + 2]
mov ecx, dword [edi + 8]
mov eax, ebx
and eax, 2
push eax
push ecx
mov ecx, esi
call fcn.00435d00
mov edx, dword [edi + 4]
and ebx, 1
push ebx
push edx
mov ecx, esi
mov ebp, eax
call fcn.00435d00
cmp eax, ebp
jle case.0x43988c.48
mov eax, dword [edi + 0xc]
mov dword [esi + 0x2d5c], eax
jmp case.0x43988c.48
movzx ebx, byte [edi + 2]
mov edx, dword [edi + 8]
mov ecx, ebx
and ecx, 2
push ecx
push edx
mov ecx, esi
call fcn.00435d00
mov ebp, eax
mov eax, dword [edi + 4]
and ebx, 1
push ebx
push eax
mov ecx, esi
call fcn.00435d00
cmp eax, ebp
jge case.0x43988c.48
mov ecx, dword [edi + 0xc]
mov dword [esi + 0x2d5c], ecx
jmp case.0x43988c.48
movzx ebx, byte [edi + 2]
mov eax, dword [edi + 8]
mov edx, ebx
and edx, 2
push edx
push eax
mov ecx, esi
call fcn.00435d00
mov ecx, dword [edi + 4]
and ebx, 1
push ebx
push ecx
mov ecx, esi
mov ebp, eax
call fcn.00435d00
cmp eax, ebp
jl case.0x43988c.48
mov edx, dword [edi + 0xc]
mov dword [esi + 0x2d5c], edx
jmp case.0x43988c.48
movzx ebx, byte [edi + 2]
mov ecx, dword [edi + 8]
mov eax, ebx
and eax, 2
push eax
push ecx
mov ecx, esi
call fcn.00435d00
mov edx, dword [edi + 4]
and ebx, 1
push ebx
push edx
mov ecx, esi
mov ebp, eax
call fcn.00435d00
cmp eax, ebp
jg case.0x43988c.48
mov eax, dword [edi + 0xc]
mov dword [esi + 0x2d5c], eax
jmp case.0x43988c.48
mov ecx, dword [esi + 8]
mov dword [ecx + 0x19764], 0
mov edx, dword [esi + 0x30]
mov ecx, esi
mov dword [esi + 0x28], 1
mov dword [esi + 0x2c], edx
call fcn.00435fc0
jmp case.0x43988c.48
mov ecx, dword [edi + 4]
lea eax, [esp + 0xac]
push eax
push ecx
mov ecx, dword [esi + 8]
call fcn.00424b10
mov edx, dword [edi + 4]
movzx eax, byte [edi + 2]
push edx
push eax
lea ecx, [esp + 0xb4]
push ecx
mov ecx, dword [esi + 8]
call fcn.00429970
jmp case.0x43988c.48
mov ecx, dword [esi + 8]
mov dword [esi + 0x2d24], 0xffffffff
movsx edx, word [edi + 2]
mov dword [esi + 0x2d28], edx
call fcn.0042ba60
mov eax, 4
jmp 0x43af78
mov ecx, dword [esi + 8]
push 0x15
call fcn.004271a0
mov eax, 1
jmp 0x43af78
movzx eax, byte [edi + 3]
push 0
push eax
mov ecx, esi
call fcn.00435c80
push eax
mov ecx, esi
call fcn.00439140
test eax, eax
je case.0x43988c.39
cmp dword [esi + 0x2d3c], 6
je 0x439f9d
mov dword [esi + 0x2d3c], 2
mov ecx, esi
call fcn.00435fc0
jmp case.0x43988c.48
movsx ecx, byte [edi + 3]
movzx edx, byte [edi + 4]
push ecx
push edx
mov ecx, esi
call fcn.00435c80
push eax
mov ecx, esi
call fcn.00439260
jmp 0x43af78
movzx ecx, byte [edi + 3]
movsx edx, byte [edi + 2]
xor eax, eax
mov ah, byte [edi + 5]
mov al, byte [edi + 4]
shl eax, 8
or eax, ecx
push eax
push edx
mov ecx, esi
call fcn.00436340
jmp 0x43af78
movsx eax, byte [edi + 2]
push eax
mov ecx, esi
call fcn.00437040
jmp 0x43af78
movsx ecx, byte [edi + 2]
push ecx
mov ecx, esi
call fcn.004364a0
jmp 0x43af78
cmp dword [esi + 0x2da0], 2
je case.0x43988c.29
mov eax, dword [0x4c4800]
test eax, eax
mov ecx, esi
je 0x43af25
call fcn.004371e0
jmp 0x43af78
cmp dword [esi + 0x2da0], 2
je case.0x43988c.30
mov eax, dword [0x4c4800]
test eax, eax
mov ecx, esi
je 0x43a263
call fcn.00437200
jmp 0x43af78
cmp dword [esi + 0x2da0], 2
je case.0x43988c.29
mov eax, dword [0x4c47fc]
test eax, eax
mov ecx, esi
je 0x43af25
call fcn.004373a0
jmp 0x43af78
cmp dword [esi + 0x2da0], 2
je case.0x43988c.30
mov eax, dword [0x4c47fc]
test eax, eax
mov ecx, esi
je 0x43a263
call fcn.00437420
jmp 0x43af78
cmp dword [esi + 0x2da0], 2
je case.0x43988c.29
mov eax, dword [0x4c4800]
test eax, eax
mov ecx, esi
je 0x43af25
call fcn.00437560
jmp 0x43af78
cmp dword [esi + 0x2da0], 2
mov ecx, esi
je 0x43a0e8
mov eax, dword [0x4c4800]
test eax, eax
je 0x43a0e8
call fcn.00437580
jmp 0x43af78
push 1
call fcn.004372f0
jmp 0x43af78
mov ecx, dword [esi + 8]
call fcn.00436a50
mov eax, 5
jmp 0x43af78
mov ecx, dword [esi + 8]
call fcn.00436ac0
mov eax, 5
jmp 0x43af78
movsx edx, byte [edi + 2]
mov dword [esi + 0x2d3c], edx
jmp case.0x43988c.48
mov ecx, dword [esi + 8]
push 1
call fcn.004271a0
mov eax, 1
jmp 0x43af78
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x1c]
push 0
push 0
push 0x10
push ecx
call dword [0x4854b0]
mov eax, 1
jmp 0x43af78
lea ecx, [esi + 0x14]
call fcn.00434980
jmp case.0x43988c.48
mov ecx, dword [esi + 8]
push 3
call fcn.004271a0
mov eax, 1
jmp 0x43af78
mov ecx, dword [esi + 8]
push 6
call fcn.004271a0
mov eax, 1
jmp 0x43af78
mov ecx, dword [esi + 8]
push 0xe
call fcn.004271a0
mov eax, 1
jmp 0x43af78
mov ecx, dword [esi + 8]
push 0x10
call fcn.004271a0
mov eax, 1
jmp 0x43af78
mov edx, dword [esi + 8]
mov eax, 1
mov dword [edx + 0xe7c], eax
jmp 0x43af78
movzx eax, byte [edi + 2]
mov dword [esi + 0x50], eax
movzx ecx, byte [edi + 3]
mov dword [esi + 0x54], ecx
movzx edx, byte [edi + 4]
mov ecx, dword [esi + 8]
mov eax, 1
mov dword [esi + 0x58], edx
mov dword [ecx + 0xe7c], eax
jmp 0x43af78
mov edx, dword [esi + 8]
mov dword [edx + 0xe7c], 0
mov ecx, dword [esi + 8]
push 0
call fcn.00425660
mov eax, 1
jmp 0x43af78
cmp dword [esi + 0x2da0], 2
je case.0x43988c.29
mov eax, dword [0x4c47fc]
test eax, eax
mov ecx, esi
je 0x43af25
call fcn.004373e0
jmp 0x43af78
cmp dword [esi + 0x2da0], 2
jne 0x43a24e
push 0
mov ecx, esi
call fcn.004372f0
jmp 0x43af78
mov eax, dword [0x4c47fc]
test eax, eax
mov ecx, esi
je 0x43a263
call fcn.004374c0
jmp 0x43af78
push 0
call fcn.004372f0
jmp 0x43af78
movsx ebx, word [edi + 2]
movsx eax, word [edi + 6]
mov dword [esi + ebx*4 + 0x34], eax
movzx ecx, word [edi + 4]
push ecx
mov ecx, esi
call fcn.00435c80
lea edx, [ebx + ebx*4 + 0x34d]
lea edx, [esi + edx*4]
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x43a291
jmp case.0x43988c.48
movzx eax, byte [edi + 3]
push eax
mov ecx, esi
call fcn.00435c80
mov ecx, dword [esi + 8]
push eax
call fcn.004383e0
jmp case.0x43988c.48
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0xedc]
cmp eax, 2
jne 0x43a2e1
call fcn.0042dbc0
mov ecx, dword [esi + 8]
push 8
call fcn.004271a0
mov eax, 1
jmp 0x43af78
cmp eax, 4
jne 0x43a2f7
push 0xb
call fcn.004271a0
mov eax, 1
jmp 0x43af78
cmp eax, 1
jne 0x43a30d
push 0xd
call fcn.004271a0
mov eax, 1
jmp 0x43af78
cmp eax, 5
jne case.0x43988c.48
call fcn.0042dbc0
mov ecx, dword [esi + 8]
push 0xf
call fcn.004271a0
mov eax, 1
jmp 0x43af78
mov al, byte [edi + 2]
cmp al, 1
jne 0x43a34f
mov ecx, dword [esi + 8]
movsx edx, word [edi + 4]
mov eax, dword [ecx + 0x1be8]
mov dword [esi + edx*4 + 0xda8], eax
jmp case.0x43988c.48
cmp al, 2
jne 0x43a36c
mov ecx, dword [esi + 8]
movsx edx, word [edi + 4]
mov eax, dword [ecx + 0x1bec]
mov dword [esi + edx*4 + 0xda8], eax
jmp case.0x43988c.48
cmp al, 3
jne 0x43a389
mov ecx, dword [esi + 8]
movsx edx, word [edi + 4]
mov eax, dword [ecx + 0xe8c]
mov dword [esi + edx*4 + 0xda8], eax
jmp case.0x43988c.48
cmp al, 4
jne 0x43a3a6
mov ecx, dword [esi + 8]
movsx edx, word [edi + 4]
mov eax, dword [ecx + 0xeb8]
mov dword [esi + edx*4 + 0xda8], eax
jmp case.0x43988c.48
cmp al, 5
jne 0x43a3ca
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0xeb8]
movsx edx, word [edi + 4]
mov eax, dword [eax + ecx*4 + 0xec0]
mov dword [esi + edx*4 + 0xda8], eax
jmp case.0x43988c.48
cmp al, 6
jne 0x43a3e7
mov ecx, dword [esi + 8]
movsx edx, word [edi + 4]
mov eax, dword [ecx + 0xebc]
mov dword [esi + edx*4 + 0xda8], eax
jmp case.0x43988c.48
cmp al, 7
je 0x43a4b6
cmp al, 8
je 0x43a4b6
cmp al, 9
je 0x43a4b6
cmp al, 0xa
je 0x43a4b6
cmp al, 0xb
je 0x43a4b6
cmp al, 0xc
je 0x43a4b6
cmp al, 0xd
je 0x43a4b6
cmp al, 0xe
je 0x43a4b6
cmp al, 0xf
jne 0x43a444
mov ecx, dword [esi + 8]
movsx edx, word [edi + 4]
mov eax, dword [ecx + 0xe80]
mov dword [esi + edx*4 + 0xda8], eax
jmp case.0x43988c.48
cmp al, 0x10
jne 0x43a461
mov ecx, dword [esi + 8]
movsx edx, word [edi + 4]
mov eax, dword [ecx + 0xeb0]
mov dword [esi + edx*4 + 0xda8], eax
jmp case.0x43988c.48
cmp al, 0x11
jne 0x43a47e
mov ecx, dword [esi + 8]
movsx edx, word [edi + 4]
mov eax, dword [ecx + 0xeb4]
mov dword [esi + edx*4 + 0xda8], eax
jmp case.0x43988c.48
cmp al, 0x12
jne 0x43a498
movsx ecx, word [edi + 4]
mov edx, dword [0x4c489c]
mov dword [esi + ecx*4 + 0xda8], edx
jmp case.0x43988c.48
cmp al, 0x17
jne case.0x43988c.48
movsx eax, word [edi + 4]
mov ecx, dword [0x4c48a0]
mov dword [esi + eax*4 + 0xda8], ecx
jmp case.0x43988c.48
mov ecx, dword [esi + 8]
movzx edx, al
push edx
add ecx, 0xe30
call fcn.00435d20
movsx ecx, word [edi + 4]
mov dword [esi + ecx*4 + 0xda8], eax
jmp case.0x43988c.48
mov al, byte [edi + 2]
cmp al, 1
jne 0x43a4f8
movsx edx, word [edi + 4]
mov eax, dword [esi + 8]
mov ecx, dword [esi + edx*4 + 0xda8]
mov dword [eax + 0xe84], ecx
jmp case.0x43988c.48
cmp al, 2
jne 0x43a515
movsx edx, word [edi + 4]
mov eax, dword [esi + 8]
mov ecx, dword [esi + edx*4 + 0xda8]
mov dword [eax + 0xe88], ecx
jmp case.0x43988c.48
cmp al, 3
jne 0x43a532
movsx edx, word [edi + 4]
mov eax, dword [esi + 8]
mov ecx, dword [esi + edx*4 + 0xda8]
mov dword [eax + 0xe8c], ecx
jmp case.0x43988c.48
cmp al, 4
jne 0x43a54f
movsx edx, word [edi + 4]
mov eax, dword [esi + 8]
mov ecx, dword [esi + edx*4 + 0xda8]
mov dword [eax + 0xeb8], ecx
jmp case.0x43988c.48
cmp al, 5
jne 0x43a573
movsx edx, word [edi + 4]
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0xeb8]
mov edx, dword [esi + edx*4 + 0xda8]
mov dword [eax + ecx*4 + 0xec0], edx
jmp case.0x43988c.48
cmp al, 6
jne 0x43a590
movsx eax, word [edi + 4]
mov ecx, dword [esi + 8]
mov edx, dword [esi + eax*4 + 0xda8]
mov dword [ecx + 0xebc], edx
jmp case.0x43988c.48
cmp al, 7
je 0x43a65e
cmp al, 8
je 0x43a65e
cmp al, 9
je 0x43a65e
cmp al, 0xa
je 0x43a65e
cmp al, 0xb
je 0x43a65e
cmp al, 0xc
je 0x43a65e
cmp al, 0xd
je 0x43a65e
cmp al, 0xe
je 0x43a65e
cmp al, 0xf
jne 0x43a5ed
movsx eax, word [edi + 4]
mov ecx, dword [esi + 8]
mov edx, dword [esi + eax*4 + 0xda8]
mov dword [ecx + 0xe80], edx
jmp case.0x43988c.48
cmp al, 0x10
jne 0x43a60a
movsx eax, word [edi + 4]
mov ecx, dword [esi + 8]
mov edx, dword [esi + eax*4 + 0xda8]
mov dword [ecx + 0xeb0], edx
jmp case.0x43988c.48
cmp al, 0x11
jne 0x43a627
movsx eax, word [edi + 4]
mov ecx, dword [esi + 8]
mov edx, dword [esi + eax*4 + 0xda8]
mov dword [ecx + 0xeb4], edx
jmp case.0x43988c.48
cmp al, 0x12
jne 0x43a641
movsx eax, word [edi + 4]
mov ecx, dword [esi + eax*4 + 0xda8]
mov dword [0x4c489c], ecx
jmp case.0x43988c.48
cmp al, 0x17
jne case.0x43988c.48
movsx edx, word [edi + 4]
mov eax, dword [esi + edx*4 + 0xda8]
mov dword [0x4c48a0], eax
jmp case.0x43988c.48
movsx ecx, word [edi + 4]
mov edx, dword [esi + ecx*4 + 0xda8]
mov ecx, dword [esi + 8]
movzx eax, al
push edx
push eax
add ecx, 0xe30
call fcn.00435d90
jmp case.0x43988c.48
add esi, 0x104
push esi
mov ecx, 0x4c47d0
call fcn.00423050
jmp case.0x43988c.48
movzx ecx, byte [edi + 3]
push ecx
mov ecx, esi
call fcn.00435c80
push eax
mov ecx, 0x4c47d0
call fcn.00423050
jmp case.0x43988c.48
mov ebx, dword [edi + 4]
test ebx, ebx
jle 0x43a6d2
call fcn.004355a0
cdq
idiv ebx
movsx eax, word [edi + 8]
mov dword [esi + eax*4 + 0xda8], edx
jmp case.0x43988c.48
movsx eax, word [edi + 8]
xor edx, edx
mov dword [esi + eax*4 + 0xda8], edx
jmp case.0x43988c.48
mov dword [0x4c47f8], 1
or eax, 0xffffffff
jmp 0x43af78
mov al, byte [edi + 2]
test al, al
jne 0x43a713
movsx ecx, word [edi + 4]
mov edx, dword [0x4c485c]
mov dword [esi + ecx*4 + 0xda8], edx
jmp case.0x43988c.48
cmp al, 1
jne 0x43a72d
movsx eax, word [edi + 4]
mov ecx, dword [0x4c4860]
mov dword [esi + eax*4 + 0xda8], ecx
jmp case.0x43988c.48
cmp al, 2
jne 0x43a746
movsx edx, word [edi + 4]
mov eax, dword [0x4c4864]
mov dword [esi + edx*4 + 0xda8], eax
jmp case.0x43988c.48
cmp al, 3
jne 0x43a760
movsx ecx, word [edi + 4]
mov edx, dword [0x4c4868]
mov dword [esi + ecx*4 + 0xda8], edx
jmp case.0x43988c.48
cmp al, 4
jne 0x43a77a
movsx eax, word [edi + 4]
mov ecx, dword [0x4c486c]
mov dword [esi + eax*4 + 0xda8], ecx
jmp case.0x43988c.48
cmp al, 5
jne 0x43a793
movsx edx, word [edi + 4]
mov eax, dword [0x4c4870]
mov dword [esi + edx*4 + 0xda8], eax
jmp case.0x43988c.48
cmp al, 6
jne 0x43a7ad
movsx ecx, word [edi + 4]
mov edx, dword [0x4c4874]
mov dword [esi + ecx*4 + 0xda8], edx
jmp case.0x43988c.48
cmp al, 7
jne 0x43a7c7
movsx eax, word [edi + 4]
mov ecx, dword [0x4c4878]
mov dword [esi + eax*4 + 0xda8], ecx
jmp case.0x43988c.48
cmp al, 8
jne 0x43a7e0
movsx edx, word [edi + 4]
mov eax, dword [0x4c487c]
mov dword [esi + edx*4 + 0xda8], eax
jmp case.0x43988c.48
cmp al, 9
jne 0x43a7fa
movsx ecx, word [edi + 4]
mov edx, dword [0x4c4880]
mov dword [esi + ecx*4 + 0xda8], edx
jmp case.0x43988c.48
cmp al, 0xa
jne 0x43a814
movsx eax, word [edi + 4]
mov ecx, dword [0x4c4884]
mov dword [esi + eax*4 + 0xda8], ecx
jmp case.0x43988c.48
cmp al, 0xb
jne 0x43a82d
movsx edx, word [edi + 4]
mov eax, dword [0x4c4888]
mov dword [esi + edx*4 + 0xda8], eax
jmp case.0x43988c.48
cmp al, 0xc
jne 0x43a847
movsx ecx, word [edi + 4]
mov edx, dword [0x4c488c]
mov dword [esi + ecx*4 + 0xda8], edx
jmp case.0x43988c.48
cmp al, 0xd
jne 0x43a861
movsx eax, word [edi + 4]
mov ecx, dword [0x4c4890]
mov dword [esi + eax*4 + 0xda8], ecx
jmp case.0x43988c.48
cmp al, 0xe
jne 0x43a87a
movsx edx, word [edi + 4]
mov eax, dword [0x4c4894]
mov dword [esi + edx*4 + 0xda8], eax
jmp case.0x43988c.48
cmp al, 0xf
jne case.0x43988c.48
movsx ecx, word [edi + 4]
mov edx, dword [0x4c4898]
mov dword [esi + ecx*4 + 0xda8], edx
jmp case.0x43988c.48
mov al, byte [edi + 2]
test al, al
jne 0x43a8bc
movsx eax, word [edi + 4]
mov ecx, dword [esi + eax*4 + 0xda8]
push ecx
push 0
mov ecx, 0x4c47d0
call fcn.00435f50
jmp case.0x43988c.48
cmp al, 1
jne 0x43a8dd
movsx edx, word [edi + 4]
mov eax, dword [esi + edx*4 + 0xda8]
push eax
push 1
mov ecx, 0x4c47d0
call fcn.00435f50
jmp case.0x43988c.48
cmp al, 2
jne 0x43a8fe
movsx ecx, word [edi + 4]
mov edx, dword [esi + ecx*4 + 0xda8]
push edx
push 2
mov ecx, 0x4c47d0
call fcn.00435f50
jmp case.0x43988c.48
cmp al, 3
jne 0x43a91f
movsx eax, word [edi + 4]
mov ecx, dword [esi + eax*4 + 0xda8]
push ecx
push 3
mov ecx, 0x4c47d0
call fcn.00435f50
jmp case.0x43988c.48
cmp al, 4
jne 0x43a940
movsx edx, word [edi + 4]
mov eax, dword [esi + edx*4 + 0xda8]
push eax
push 4
mov ecx, 0x4c47d0
call fcn.00435f50
jmp case.0x43988c.48
cmp al, 5
jne 0x43a961
movsx ecx, word [edi + 4]
mov edx, dword [esi + ecx*4 + 0xda8]
push edx
push 5
mov ecx, 0x4c47d0
call fcn.00435f50
jmp case.0x43988c.48
cmp al, 6
jne 0x43a982
movsx eax, word [edi + 4]
mov ecx, dword [esi + eax*4 + 0xda8]
push ecx
push 6
mov ecx, 0x4c47d0
call fcn.00435f50
jmp case.0x43988c.48
cmp al, 7
jne 0x43a9a3
movsx edx, word [edi + 4]
mov eax, dword [esi + edx*4 + 0xda8]
push eax
push 7
mov ecx, 0x4c47d0
call fcn.00435f50
jmp case.0x43988c.48
cmp al, 8
jne 0x43a9c4
movsx ecx, word [edi + 4]
mov edx, dword [esi + ecx*4 + 0xda8]
push edx
push 8
mov ecx, 0x4c47d0
call fcn.00435f50
jmp case.0x43988c.48
cmp al, 9
jne 0x43a9e5
movsx eax, word [edi + 4]
mov ecx, dword [esi + eax*4 + 0xda8]
push ecx
push 9
mov ecx, 0x4c47d0
call fcn.00435f50
jmp case.0x43988c.48
cmp al, 0xa
jne 0x43aa06
movsx edx, word [edi + 4]
mov eax, dword [esi + edx*4 + 0xda8]
push eax
push 0xa
mov ecx, 0x4c47d0
call fcn.00435f50
jmp case.0x43988c.48
cmp al, 0xb
jne 0x43aa27
movsx ecx, word [edi + 4]
mov edx, dword [esi + ecx*4 + 0xda8]
push edx
push 0xb
mov ecx, 0x4c47d0
call fcn.00435f50
jmp case.0x43988c.48
cmp al, 0xc
jne 0x43aa48
movsx eax, word [edi + 4]
mov ecx, dword [esi + eax*4 + 0xda8]
push ecx
push 0xc
mov ecx, 0x4c47d0
call fcn.00435f50
jmp case.0x43988c.48
cmp al, 0xd
jne 0x43aa69
movsx edx, word [edi + 4]
mov eax, dword [esi + edx*4 + 0xda8]
push eax
push 0xd
mov ecx, 0x4c47d0
call fcn.00435f50
jmp case.0x43988c.48
cmp al, 0xe
jne 0x43aa8a
movsx ecx, word [edi + 4]
mov edx, dword [esi + ecx*4 + 0xda8]
push edx
push 0xe
mov ecx, 0x4c47d0
call fcn.00435f50
jmp case.0x43988c.48
cmp al, 0xf
jne case.0x43988c.48
movsx eax, word [edi + 4]
mov ecx, dword [esi + eax*4 + 0xda8]
push ecx
push 0xf
mov ecx, 0x4c47d0
call fcn.00435f50
jmp case.0x43988c.48
movzx edx, byte [edi + 3]
push edx
mov ecx, esi
call fcn.00435c80
push eax
lea ecx, [esp + 0x78]
call fcn.004013d0
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x40]
push ecx
mov dword [esp + 0x1c0], 6
call fcn.00407960
add esp, 8
lea ecx, [esp + 0x3c]
call fcn.004011c0
movzx eax, byte [edi + 2]
sub eax, 0
je 0x43ab1a
dec eax
je 0x43ab0a
dec eax
jne 0x43ab37
push str..bgm
lea ecx, [esp + 0x78]
call fcn.00406fc0
jmp 0x43ab37
push str..mid
lea ecx, [esp + 0x78]
call fcn.00406fc0
jmp 0x43ab37
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str.CDDA
call fcn.004013d0
mov ecx, 0x4bb2a8
call fcn.00405130
mov al, byte [edi + 4]
test al, al
mov eax, dword [esp + 0x8c]
jne 0x43ab68
cmp eax, 0x10
mov eax, dword [esp + 0x78]
jae 0x43ab52
lea eax, [esp + 0x78]
push eax
mov ecx, esi
call fcn.004365c0
lea ecx, [esp + 0x74]
call fcn.004011c0
jmp case.0x43988c.48
cmp eax, 0x10
mov eax, dword [esp + 0x78]
jae 0x43ab75
lea eax, [esp + 0x78]
push eax
mov ecx, esi
call fcn.004365e0
lea ecx, [esp + 0x74]
call fcn.004011c0
jmp case.0x43988c.48
mov ecx, dword [esi + 8]
push 1
call fcn.00426920
jmp case.0x43988c.48
movzx edx, byte [edi + 2]
mov eax, dword [esi + edx*4 + 0xda8]
sub eax, 0
je 0x43abc0
dec eax
jne case.0x43988c.48
mov eax, dword [esi + 8]
mov byte [eax + 0x1bd4], 1
jmp case.0x43988c.48
mov ecx, dword [esi + 8]
mov byte [ecx + 0x1bd4], 0
jmp case.0x43988c.48
movzx edx, byte [edi + 3]
push edx
mov ecx, esi
call fcn.00435c80
push eax
lea ecx, [esp + 0x78]
call fcn.004013d0
push str..wav
lea ecx, [esp + 0x78]
mov dword [esp + 0x1bc], 7
call fcn.00406fc0
mov al, byte [edi + 2]
test al, al
jne 0x43ac32
cmp dword [esp + 0x8c], 0x10
mov eax, dword [esp + 0x78]
jae 0x43ac17
lea eax, [esp + 0x78]
mov ecx, dword [esi + 8]
push 0
push 1
push eax
call fcn.0042a970
lea ecx, [esp + 0x74]
call fcn.004011c0
jmp case.0x43988c.48
cmp al, 1
jne 0x43ac55
cmp dword [esp + 0x8c], 0x10
mov eax, dword [esp + 0x78]
jae 0x43ac48
lea eax, [esp + 0x78]
mov ecx, dword [esi + 8]
push 0
push 0
push eax
call fcn.0042a600
lea ecx, [esp + 0x74]
call fcn.004011c0
jmp case.0x43988c.48
mov al, byte [edi + 3]
test al, al
jne 0x43ac79
mov ecx, dword [esi + 8]
push 1
call fcn.00426b80
jmp case.0x43988c.48
cmp al, 1
jne case.0x43988c.48
mov ecx, dword [esi + 8]
call fcn.00426a30
jmp case.0x43988c.48
mov al, byte [edi + 2]
test al, al
jne 0x43acaf
push ecx
mov ecx, dword [esi + 8]
lea eax, [esi + 0x104]
push eax
call fcn.004383a0
mov ecx, dword [esi + 8]
push 0x1b
call fcn.004271a0
mov eax, 1
jmp 0x43af78
mov al, byte [edi + 2]
test al, al
jne 0x43adf7
movzx ecx, byte [edi + 3]
push ecx
mov ecx, esi
call fcn.00435c80
push eax
lea ecx, [esp + 0x78]
call fcn.004013d0
lea edx, [esp + 0x74]
push str.SerinaTrue
push edx
mov dword [esp + 0x1c0], 8
call fcn.004060c0
add esp, 8
test al, al
je 0x43ad12
movzx eax, byte [edi + 6]
lea ecx, [esp + 0x74]
mov dword [0x4c484c], eax
call fcn.004011c0
jmp case.0x43988c.48
lea ecx, [esp + 0x74]
push str.SerinaBad
push ecx
call fcn.004060c0
add esp, 8
test al, al
je 0x43ad40
movzx edx, byte [edi + 6]
lea ecx, [esp + 0x74]
mov dword [0x4c4850], edx
call fcn.004011c0
jmp case.0x43988c.48
lea eax, [esp + 0x74]
push str.Yukina
push eax
call fcn.004060c0
add esp, 8
test al, al
je 0x43ad6e
movzx ecx, byte [edi + 6]
mov dword [0x4c4854], ecx
lea ecx, [esp + 0x74]
call fcn.004011c0
jmp case.0x43988c.48
lea edx, [esp + 0x74]
push str.TakakoTrue
push edx
call fcn.004060c0
add esp, 8
test al, al
je 0x43ad9b
movzx eax, byte [edi + 6]
lea ecx, [esp + 0x74]
mov dword [0x4c4858], eax
call fcn.004011c0
jmp case.0x43988c.48
lea ecx, [esp + 0x74]
push str.TakakoBad
push ecx
call fcn.004060c0
add esp, 8
test al, al
je 0x43adc9
movzx edx, byte [edi + 6]
lea ecx, [esp + 0x74]
mov dword [0x4c485c], edx
call fcn.004011c0
jmp case.0x43988c.48
lea eax, [esp + 0x74]
push str.TrueEnd
push eax
call fcn.004060c0
add esp, 8
test al, al
je 0x43ade9
movzx ecx, byte [edi + 6]
mov dword [0x4c4860], ecx
lea ecx, [esp + 0x74]
call fcn.004011c0
jmp case.0x43988c.48
movzx edx, byte [edi + 3]
push edx
mov ecx, esi
call fcn.00435c80
push eax
lea ecx, [esp + 0x94]
call fcn.004013d0
lea eax, [esp + 0x90]
push str.SerinaTrue
push eax
mov dword [esp + 0x1c0], 9
call fcn.004060c0
add esp, 8
test al, al
je 0x43ae3f
mov edx, dword [0x4c484c]
jmp 0x43aee5
lea eax, [esp + 0x90]
push str.SerinaBad
push eax
call fcn.004060c0
add esp, 8
test al, al
je 0x43ae63
mov edx, dword [0x4c4850]
jmp 0x43aee5
lea eax, [esp + 0x90]
push str.Yukina
push eax
call fcn.004060c0
add esp, 8
test al, al
je 0x43ae84
mov edx, dword [0x4c4854]
jmp 0x43aee5
lea eax, [esp + 0x90]
push str.TakakoTrue
push eax
call fcn.004060c0
add esp, 8
test al, al
je 0x43aea5
mov edx, dword [0x4c4858]
jmp 0x43aee5
lea eax, [esp + 0x90]
push str.TakakoBad
push eax
call fcn.004060c0
add esp, 8
test al, al
je 0x43aec6
mov edx, dword [0x4c485c]
jmp 0x43aee5
lea eax, [esp + 0x90]
push str.TrueEnd
push eax
call fcn.004060c0
add esp, 8
test al, al
je 0x43aef0
mov edx, dword [0x4c4860]
movsx ecx, word [edi + 4]
mov dword [esi + ecx*4 + 0xda8], edx
lea ecx, [esp + 0x90]
call fcn.004011c0
jmp case.0x43988c.48
cmp dword [esi + 0x2da0], 2
jne 0x43af2c
movsx eax, word [edi + 8]
movsx ecx, byte [edi + 2]
movsx edx, word [edi + 6]
push eax
movsx eax, word [edi + 4]
push ecx
mov ecx, dword [esi + 8]
push edx
push eax
call fcn.00435ed0
mov ecx, esi
call fcn.004372a0
jmp 0x43af78
movsx ecx, word [edi + 0xa]
movsx edx, word [edi + 8]
movsx eax, word [edi + 6]
push ecx
movsx ecx, word [edi + 4]
push edx
movsx edx, byte [edi + 2]
push eax
push ecx
mov ecx, dword [esi + 8]
push edx
call fcn.00435e40
mov eax, 0x11
jmp 0x43af78
movsx eax, word [edi + 4]
movsx ecx, word [edi + 2]
push eax
push ecx
mov ecx, dword [esi + 8]
call fcn.00435ea0
jmp case.0x43988c.48
xor edx, edx
mov dx, word [edi + 2]
mov ecx, esi
push edx
call fcn.004362b0
xor eax, eax
mov ecx, dword [esp + 0x1b0]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x1ac]
call fcn.004407d1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1ac
ret