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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x54
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, edx
mov dword [esp + 0x2c], ecx
xor ecx, ecx
mov dword [esp + 0x24], edi
xor edx, edx
mov byte [esp + 0x12], 0x20
mov dword [esp + 0x44], edx
mov eax, dword [edi + 8]
mov esi, dword [edi + 0x14]
mov dword [esp + 0x54], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x58], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 0x5c], eax
mov eax, dword [edi + 0x2a8]
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x30], ecx
cmp byte [ebx], cl
je 0x4ae713
jmp 0x4acf40
mov dword [esp + 0x20], 0
mov al, byte [ebx]
mov dword [esp + 0x1c], 0
cmp al, 0x20
je 0x4ae6af
cmp al, 0x28
jne 0x4acf68
inc edx
mov dword [esp + 0x44], edx
jmp 0x4ae6af
cmp al, 0x29
jne 0x4acf7e
test edx, edx
je 0x4ae6c8
dec edx
mov dword [esp + 0x44], edx
jmp 0x4ae6af
cmp al, 0x2b
je 0x4ae6ab
cmp al, 0x2d
je 0x4ae6ab
cmp al, 0x2f
je 0x4ae6ab
cmp al, 0x2a
je 0x4ae6ab
cmp al, 0x26
je 0x4ae6ab
cmp al, 0x40
jne 0x4ad3e4
xor edi, edi
mov dword [esp + 0x28], 0
cmp byte [ebx + 1], 0x30
mov byte [esp + 0x11], 0x4c
mov byte [esp + 0x10], 0x45
mov dword [esp + 0x34], 4
jne 0x4acfdb
cmp byte [ebx + 2], 0x78
jne 0x4acfdb
lea esi, [edi + 1]
jmp 0x4acfdd
xor esi, esi
cmp dword [esp + 0x2c], edi
je 0x4ae6c8
push 0x3a
push ebx
call fcn.00503ac0
add esp, 8
test eax, eax
je 0x4ad03e
push 0x24
push ebx
call fcn.00503ac0
add esp, 8
test eax, eax
je 0x4ad03e
mov eax, str.__x:_c_c__i_n
test esi, esi
jne 0x4ad013
mov eax, str.__u:_c_c__i_n
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x1d]
push ecx
lea ecx, [esp + 0x38]
push ecx
push eax
push ebx
call fcn.00404690
add esp, 0x1c
cmp eax, 4
jmp 0x4ad0de
push 0x3a
push ebx
call fcn.00503ac0
add esp, 8
test eax, eax
je 0x4ad07e
mov eax, str.__x:_c_c_n
test esi, esi
jne 0x4ad05b
mov eax, str.__u:_c_c_n
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x19]
push ecx
lea ecx, [esp + 0x34]
push ecx
push eax
push ebx
call fcn.00404690
add esp, 0x18
cmp eax, 3
jmp 0x4ad0de
push 0x24
push ebx
call fcn.00503ac0
add esp, 8
test eax, eax
je 0x4ad0b9
mov eax, str.__x__i_n
test esi, esi
jne 0x4ad09b
mov eax, str.__u__i_n
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0x30]
push ecx
push eax
push ebx
call fcn.00404690
add esp, 0x14
cmp eax, 2
jmp 0x4ad0de
mov eax, str.__x_n
test esi, esi
jne 0x4ad0c7
mov eax, str.__u_n
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x2c]
push ecx
push eax
push ebx
call fcn.00404690
add esp, 0x10
cmp eax, 1
jne 0x4ae6c8
mov esi, dword [esp + 0x24]
mov eax, dword [esi + 0x314]
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x2c]
push eax
mov eax, dword [eax + 4]
call eax
mov ecx, dword [esp + 0x2c]
add esp, 4
cmp ecx, eax
ja 0x4ae6ec
mov al, byte [esp + 0x11]
cmp al, 0x42
jne 0x4ad125
cmp byte [esp + 0x10], 0x45
jne case.default.0x4ad190
mov edi, 1
jmp 0x4ad138
cmp al, 0x4c
jne case.default.0x4ad190
cmp byte [esp + 0x10], 0x45
jne case.default.0x4ad190
mov edx, dword [esp + 0x4c]
test edx, edx
je 0x4ad150
mov eax, dword [esi + 0x2a0]
dec eax
imul eax, edx
add ecx, eax
mov dword [esp + 0x28], ecx
cmp dword [esi + 0x384], 0
je 0x4ad182
mov edx, 0x5f75a8
test edi, edi
jne 0x4ad167
mov edx, 0x5f75ac
mov eax, dword [esp + 0x34]
shl eax, 3
push eax
push edx
push ecx
push str.TXTH:__use_value_at_0x_x___s__ib__n
call fcn.0040b9e0
mov ecx, dword [esp + 0x38]
add esp, 0x10
mov eax, dword [esp + 0x34]
dec eax
cmp eax, 3
ja case.default.0x4ad190
jmp dword [eax*4 + 0x4ae780]
mov edi, dword [esp + 0x2c]
mov eax, ecx
cdq
push 1
push edx
push eax
lea eax, [esp + 0x1f]
push eax
mov eax, dword [edi]
push edi
call eax
add esp, 0x14
cmp eax, 1
je 0x4ad1c6
mov edi, dword [esp + 0x24]
or al, 0xff
movzx esi, al
mov dword [esp + 0x20], esi
jmp 0x4ae607
mov al, byte [esp + 0x13]
mov edi, dword [esp + 0x24]
movzx esi, al
mov dword [esp + 0x20], esi
jmp 0x4ae607
mov eax, ecx
cdq
push 2
push edx
push eax
test edi, edi
je 0x4ad21e
mov edi, dword [esp + 0x38]
lea eax, [esp + 0x20]
push eax
push edi
mov eax, dword [edi]
call eax
add esp, 0x14
cmp eax, 2
je 0x4ad211
mov edi, dword [esp + 0x24]
or eax, 0xffffffff
movzx eax, ax
movzx esi, ax
mov dword [esp + 0x20], esi
jmp 0x4ae607
mov ax, word [esp + 0x14]
movzx ecx, al
movzx eax, ah
jmp 0x4ad255
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x3c]
push eax
mov eax, dword [eax]
call eax
add esp, 0x14
cmp eax, 2
je 0x4ad24a
mov edi, dword [esp + 0x24]
or eax, 0xffffffff
movzx eax, ax
movzx esi, ax
mov dword [esp + 0x20], esi
jmp 0x4ae607
mov ax, word [esp + 0x18]
movzx ecx, ah
movzx eax, al
mov edi, dword [esp + 0x24]
shl cx, 8
or cx, ax
movzx eax, cx
movzx eax, ax
movzx esi, ax
mov dword [esp + 0x20], esi
jmp 0x4ae607
mov eax, ecx
cdq
push 4
push edx
push eax
test edi, edi
je 0x4ad2d5
mov edi, dword [esp + 0x38]
lea eax, [esp + 0x44]
push eax
push edi
mov eax, dword [edi]
call eax
add esp, 0x14
cmp eax, 4
je 0x4ad2a9
mov edi, dword [esp + 0x24]
or esi, 0xffffffff
and esi, 0xffffff
mov dword [esp + 0x20], esi
jmp 0x4ae607
movzx esi, byte [esp + 0x39]
movzx eax, byte [esp + 0x3a]
mov edi, dword [esp + 0x24]
shl esi, 8
or esi, eax
movzx eax, byte [esp + 0x3b]
shl esi, 8
or esi, eax
and esi, 0xffffff
mov dword [esp + 0x20], esi
jmp 0x4ae607
lea eax, [esp + 0x54]
push eax
mov eax, dword [esp + 0x3c]
push eax
mov eax, dword [eax]
call eax
add esp, 0x14
cmp eax, 4
je 0x4ad301
mov edi, dword [esp + 0x24]
or esi, 0xffffffff
and esi, 0xffffff
mov dword [esp + 0x20], esi
jmp 0x4ae607
movzx esi, byte [esp + 0x4a]
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x24]
shl esi, 8
movzx ecx, ah
or esi, ecx
movzx eax, al
shl esi, 8
or esi, eax
and esi, 0xffffff
mov dword [esp + 0x20], esi
jmp 0x4ae607
mov eax, ecx
cdq
push 4
push edx
push eax
test edi, edi
je 0x4ad38e
mov edi, dword [esp + 0x38]
lea eax, [esp + 0x48]
push eax
push edi
mov eax, dword [edi]
call eax
add esp, 0x14
cmp eax, 4
je 0x4ad35e
mov edi, dword [esp + 0x24]
or esi, 0xffffffff
mov dword [esp + 0x20], esi
jmp 0x4ae607
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x24]
movzx esi, al
shl esi, 8
movzx eax, ah
or esi, eax
movzx eax, byte [esp + 0x3e]
shl esi, 8
or esi, eax
movzx eax, byte [esp + 0x3f]
shl esi, 8
or esi, eax
mov dword [esp + 0x20], esi
jmp 0x4ae607
lea eax, [esp + 0x4c]
push eax
mov eax, dword [esp + 0x3c]
push eax
mov eax, dword [eax]
call eax
add esp, 0x14
cmp eax, 4
je 0x4ad3b4
mov edi, dword [esp + 0x24]
or esi, 0xffffffff
mov dword [esp + 0x20], esi
jmp 0x4ae607
movzx esi, byte [esp + 0x43]
movzx eax, byte [esp + 0x42]
mov edi, dword [esp + 0x24]
shl esi, 8
or esi, eax
mov eax, dword [esp + 0x40]
shl esi, 8
movzx ecx, ah
or esi, ecx
movzx eax, al
shl esi, 8
or esi, eax
mov dword [esp + 0x20], esi
jmp 0x4ae607
sub al, 0x30
cmp al, 9
ja 0x4ad44a
cmp byte [ebx], 0x30
jne 0x4ad401
cmp byte [ebx + 1], 0x78
jne 0x4ad401
mov esi, 1
mov eax, str._x_n
jmp 0x4ad408
xor esi, esi
mov eax, str._u_n
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x24]
push ecx
push eax
push ebx
call fcn.00404690
add esp, 0x10
cmp eax, 1
jne 0x4ae6c8
cmp dword [edi + 0x384], 0
je 0x4ae603
mov eax, str.TXTH:__use_constant_0x_x_n
test esi, esi
jne 0x4ad440
mov eax, str.TXTH:__use_constant__i_n
push dword [esp + 0x20]
push eax
jmp 0x4ae5fb
push 0xa
push str.interleave
push ebx
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ad48d
mov al, byte [ebx + 0xa]
cmp al, 0x2b
je 0x4ad47d
cmp al, 0x2d
je 0x4ad47d
cmp al, 0x2a
je 0x4ad47d
cmp al, 0x2f
je 0x4ad47d
cmp al, 0x26
je 0x4ad47d
test al, al
je 0x4ad47d
cmp al, 0x20
jne 0x4ad48d
mov esi, dword [edi + 0x20]
mov dword [esp + 0x1c], 0xa
jmp 0x4ae5e8
push 0xf
push str.interleave_last
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ad4d8
mov al, byte [ebx + 0xf]
cmp al, 0x2b
je 0x4ad4c8
cmp al, 0x2d
je 0x4ad4c8
cmp al, 0x2a
je 0x4ad4c8
cmp al, 0x2f
je 0x4ad4c8
cmp al, 0x26
je 0x4ad4c8
test al, al
je 0x4ad4c8
cmp al, 0x20
jne 0x4ad4d8
mov esi, dword [edi + 0x24]
mov dword [esp + 0x1c], 0xf
jmp 0x4ae5e8
push 0x10
push str.interleave_first
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ad523
mov al, byte [ebx + 0x10]
cmp al, 0x2b
je 0x4ad513
cmp al, 0x2d
je 0x4ad513
cmp al, 0x2a
je 0x4ad513
cmp al, 0x2f
je 0x4ad513
cmp al, 0x26
je 0x4ad513
test al, al
je 0x4ad513
cmp al, 0x20
jne 0x4ad523
mov esi, dword [edi + 0x28]
mov dword [esp + 0x1c], 0x10
jmp 0x4ae5e8
push 0x15
push str.interleave_first_skip
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ad56e
mov al, byte [ebx + 0x15]
cmp al, 0x2b
je 0x4ad55e
cmp al, 0x2d
je 0x4ad55e
cmp al, 0x2a
je 0x4ad55e
cmp al, 0x2f
je 0x4ad55e
cmp al, 0x26
je 0x4ad55e
test al, al
je 0x4ad55e
cmp al, 0x20
jne 0x4ad56e
mov esi, dword [edi + 0x2c]
mov dword [esp + 0x1c], 0x15
jmp 0x4ae5e8
push 8
push str.channels
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ad5b9
mov al, byte [ebx + 8]
cmp al, 0x2b
je 0x4ad5a9
cmp al, 0x2d
je 0x4ad5a9
cmp al, 0x2a
je 0x4ad5a9
cmp al, 0x2f
je 0x4ad5a9
cmp al, 0x26
je 0x4ad5a9
test al, al
je 0x4ad5a9
cmp al, 0x20
jne 0x4ad5b9
mov esi, dword [edi + 0x30]
mov dword [esp + 0x1c], 8
jmp 0x4ae5e8
push 0xb
push str.sample_rate
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ad5fc
mov al, byte [ebx + 0xb]
cmp al, 0x2b
je 0x4ad5f4
cmp al, 0x2d
je 0x4ad5f4
cmp al, 0x2a
je 0x4ad5f4
cmp al, 0x2f
je 0x4ad5f4
cmp al, 0x26
je 0x4ad5f4
test al, al
je 0x4ad5f4
cmp al, 0x20
jne 0x4ad5fc
mov esi, dword [edi + 0x34]
jmp 0x4ae5e0
push 0xc
push str.start_offset
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ad647
mov al, byte [ebx + 0xc]
cmp al, 0x2b
je 0x4ad637
cmp al, 0x2d
je 0x4ad637
cmp al, 0x2a
je 0x4ad637
cmp al, 0x2f
je 0x4ad637
cmp al, 0x26
je 0x4ad637
test al, al
je 0x4ad637
cmp al, 0x20
jne 0x4ad647
mov esi, dword [edi + 0x40]
mov dword [esp + 0x1c], 0xc
jmp 0x4ae5e8
push 9
push str.data_size
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ad692
mov al, byte [ebx + 9]
cmp al, 0x2b
je 0x4ad682
cmp al, 0x2d
je 0x4ad682
cmp al, 0x2a
je 0x4ad682
cmp al, 0x2f
je 0x4ad682
cmp al, 0x26
je 0x4ad682
test al, al
je 0x4ad682
cmp al, 0x20
jne 0x4ad692
mov esi, dword [edi + 0x38]
mov dword [esp + 0x1c], 9
jmp 0x4ae5e8
push 0xc
push str.padding_size
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ad6dd
mov al, byte [ebx + 0xc]
cmp al, 0x2b
je 0x4ad6cd
cmp al, 0x2d
je 0x4ad6cd
cmp al, 0x2a
je 0x4ad6cd
cmp al, 0x2f
je 0x4ad6cd
cmp al, 0x26
je 0x4ad6cd
test al, al
je 0x4ad6cd
cmp al, 0x20
jne 0x4ad6dd
mov esi, dword [edi + 0x48]
mov dword [esp + 0x1c], 0xc
jmp 0x4ae5e8
push 0xb
push str.num_samples
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ad720
mov al, byte [ebx + 0xb]
cmp al, 0x2b
je 0x4ad718
cmp al, 0x2d
je 0x4ad718
cmp al, 0x2a
je 0x4ad718
cmp al, 0x2f
je 0x4ad718
cmp al, 0x26
je 0x4ad718
test al, al
je 0x4ad718
cmp al, 0x20
jne 0x4ad720
mov esi, dword [edi + 0x50]
jmp 0x4ae5e0
push 0x11
push str.loop_start_sample
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ad76b
mov al, byte [ebx + 0x11]
cmp al, 0x2b
je 0x4ad75b
cmp al, 0x2d
je 0x4ad75b
cmp al, 0x2a
je 0x4ad75b
cmp al, 0x2f
je 0x4ad75b
cmp al, 0x26
je 0x4ad75b
test al, al
je 0x4ad75b
cmp al, 0x20
jne 0x4ad76b
mov esi, dword [edi + 0x54]
mov dword [esp + 0x1c], 0x11
jmp 0x4ae5e8
push 0xa
push 0x5f774c
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ad7b6
mov al, byte [ebx + 0xa]
cmp al, 0x2b
je 0x4ad7a6
cmp al, 0x2d
je 0x4ad7a6
cmp al, 0x2a
je 0x4ad7a6
cmp al, 0x2f
je 0x4ad7a6
cmp al, 0x26
je 0x4ad7a6
test al, al
je 0x4ad7a6
cmp al, 0x20
jne 0x4ad7b6
mov esi, dword [edi + 0x54]
mov dword [esp + 0x1c], 0xa
jmp 0x4ae5e8
push 0xf
push str.loop_end_sample
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ad801
mov al, byte [ebx + 0xf]
cmp al, 0x2b
je 0x4ad7f1
cmp al, 0x2d
je 0x4ad7f1
cmp al, 0x2a
je 0x4ad7f1
cmp al, 0x2f
je 0x4ad7f1
cmp al, 0x26
je 0x4ad7f1
test al, al
je 0x4ad7f1
cmp al, 0x20
jne 0x4ad801
mov esi, dword [edi + 0x58]
mov dword [esp + 0x1c], 0xf
jmp 0x4ae5e8
push 8
push str.loop_end
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ad84c
mov al, byte [ebx + 8]
cmp al, 0x2b
je 0x4ad83c
cmp al, 0x2d
je 0x4ad83c
cmp al, 0x2a
je 0x4ad83c
cmp al, 0x2f
je 0x4ad83c
cmp al, 0x26
je 0x4ad83c
test al, al
je 0x4ad83c
cmp al, 0x20
jne 0x4ad84c
mov esi, dword [edi + 0x58]
mov dword [esp + 0x1c], 8
jmp 0x4ae5e8
push 7
push str.subsong
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ad89a
mov al, byte [ebx + 7]
cmp al, 0x2b
je 0x4ad887
cmp al, 0x2d
je 0x4ad887
cmp al, 0x2a
je 0x4ad887
cmp al, 0x2f
je 0x4ad887
cmp al, 0x26
je 0x4ad887
test al, al
je 0x4ad887
cmp al, 0x20
jne 0x4ad89a
mov esi, dword [edi + 0x2a0]
mov dword [esp + 0x1c], 7
jmp 0x4ae5e8
push 0xd
push str.subsong_count
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ad8e8
mov al, byte [ebx + 0xd]
cmp al, 0x2b
je 0x4ad8d5
cmp al, 0x2d
je 0x4ad8d5
cmp al, 0x2a
je 0x4ad8d5
cmp al, 0x2f
je 0x4ad8d5
cmp al, 0x26
je 0x4ad8d5
test al, al
je 0x4ad8d5
cmp al, 0x20
jne 0x4ad8e8
mov esi, dword [edi + 0x2a4]
mov dword [esp + 0x1c], 0xd
jmp 0x4ae5e8
push 0xf
push str.subsong_spacing
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ad936
mov al, byte [ebx + 0xf]
cmp al, 0x2b
je 0x4ad923
cmp al, 0x2d
je 0x4ad923
cmp al, 0x2a
je 0x4ad923
cmp al, 0x2f
je 0x4ad923
cmp al, 0x26
je 0x4ad923
test al, al
je 0x4ad923
cmp al, 0x20
jne 0x4ad936
mov esi, dword [edi + 0x2a8]
mov dword [esp + 0x1c], 0xf
jmp 0x4ae5e8
push 0xe
push str.subsong_offset
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ad984
mov al, byte [ebx + 0xe]
cmp al, 0x2b
je 0x4ad971
cmp al, 0x2d
je 0x4ad971
cmp al, 0x2a
je 0x4ad971
cmp al, 0x2f
je 0x4ad971
cmp al, 0x26
je 0x4ad971
test al, al
je 0x4ad971
cmp al, 0x20
jne 0x4ad984
mov esi, dword [edi + 0x2a8]
mov dword [esp + 0x1c], 0xe
jmp 0x4ae5e8
push 0xb
push str.subsong_sum
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ad9ca
mov al, byte [ebx + 0xb]
cmp al, 0x2b
je 0x4ad9bf
cmp al, 0x2d
je 0x4ad9bf
cmp al, 0x2a
je 0x4ad9bf
cmp al, 0x2f
je 0x4ad9bf
cmp al, 0x26
je 0x4ad9bf
test al, al
je 0x4ad9bf
cmp al, 0x20
jne 0x4ad9ca
mov esi, dword [edi + 0x2ac]
jmp 0x4ae5e0
push 0xe
push str.subfile_offset
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ada18
mov al, byte [ebx + 0xe]
cmp al, 0x2b
je 0x4ada05
cmp al, 0x2d
je 0x4ada05
cmp al, 0x2a
je 0x4ada05
cmp al, 0x2f
je 0x4ada05
cmp al, 0x26
je 0x4ada05
test al, al
je 0x4ada05
cmp al, 0x20
jne 0x4ada18
mov esi, dword [edi + 0x2c0]
mov dword [esp + 0x1c], 0xe
jmp 0x4ae5e8
push 0xc
push str.subfile_size
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ada66
mov al, byte [ebx + 0xc]
cmp al, 0x2b
je 0x4ada53
cmp al, 0x2d
je 0x4ada53
cmp al, 0x2a
je 0x4ada53
cmp al, 0x2f
je 0x4ada53
cmp al, 0x26
je 0x4ada53
test al, al
je 0x4ada53
cmp al, 0x20
jne 0x4ada66
mov esi, dword [edi + 0x2c4]
mov dword [esp + 0x1c], 0xc
jmp 0x4ae5e8
push 0xb
push str.base_offset
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4adabd
mov al, byte [ebx + 0xb]
cmp al, 0x2b
je 0x4ae5da
cmp al, 0x2d
je 0x4ae5da
cmp al, 0x2a
je 0x4ae5da
cmp al, 0x2f
je 0x4ae5da
cmp al, 0x26
je 0x4ae5da
test al, al
je 0x4ae5da
cmp al, 0x20
je 0x4ae5da
push 0xb
push str.coef_offset
push ebx
lea esi, [ebx + 0xb]
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4adb16
mov al, byte [esi]
cmp al, 0x2b
je 0x4ae5d5
cmp al, 0x2d
je 0x4ae5d5
cmp al, 0x2a
je 0x4ae5d5
cmp al, 0x2f
je 0x4ae5d5
cmp al, 0x26
je 0x4ae5d5
test al, al
je 0x4ae5d5
cmp al, 0x20
je 0x4ae5d5
push 0xc
push str.coef_spacing
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4adb6d
mov al, byte [ebx + 0xc]
cmp al, 0x2b
je 0x4ae5c8
cmp al, 0x2d
je 0x4ae5c8
cmp al, 0x2a
je 0x4ae5c8
cmp al, 0x2f
je 0x4ae5c8
cmp al, 0x26
je 0x4ae5c8
test al, al
je 0x4ae5c8
cmp al, 0x20
je 0x4ae5c8
push 0xb
push str.hist_offset
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4adbc3
mov al, byte [esi]
cmp al, 0x2b
je 0x4ae5c0
cmp al, 0x2d
je 0x4ae5c0
cmp al, 0x2a
je 0x4ae5c0
cmp al, 0x2f
je 0x4ae5c0
cmp al, 0x26
je 0x4ae5c0
test al, al
je 0x4ae5c0
cmp al, 0x20
je 0x4ae5c0
push 0xc
push str.hist_spacing
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4adc1a
mov al, byte [ebx + 0xc]
cmp al, 0x2b
je 0x4ae5b0
cmp al, 0x2d
je 0x4ae5b0
cmp al, 0x2a
je 0x4ae5b0
cmp al, 0x2f
je 0x4ae5b0
cmp al, 0x26
je 0x4ae5b0
test al, al
je 0x4ae5b0
cmp al, 0x20
je 0x4ae5b0
push 0xb
push str.chunk_count
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4adc70
mov al, byte [esi]
cmp al, 0x2b
je 0x4ae5a8
cmp al, 0x2d
je 0x4ae5a8
cmp al, 0x2a
je 0x4ae5a8
cmp al, 0x2f
je 0x4ae5a8
cmp al, 0x26
je 0x4ae5a8
test al, al
je 0x4ae5a8
cmp al, 0x20
je 0x4ae5a8
push 0xb
push str.chunk_start
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4adcc6
mov al, byte [esi]
cmp al, 0x2b
je 0x4ae5a0
cmp al, 0x2d
je 0x4ae5a0
cmp al, 0x2a
je 0x4ae5a0
cmp al, 0x2f
je 0x4ae5a0
cmp al, 0x26
je 0x4ae5a0
test al, al
je 0x4ae5a0
cmp al, 0x20
je 0x4ae5a0
push 0xa
push str.chunk_size
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4add1d
mov al, byte [ebx + 0xa]
cmp al, 0x2b
je 0x4ae590
cmp al, 0x2d
je 0x4ae590
cmp al, 0x2a
je 0x4ae590
cmp al, 0x2f
je 0x4ae590
cmp al, 0x26
je 0x4ae590
test al, al
je 0x4ae590
cmp al, 0x20
je 0x4ae590
push 0x11
push str.chunk_size_offset
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4add74
mov al, byte [ebx + 0x11]
cmp al, 0x2b
je 0x4ae580
cmp al, 0x2d
je 0x4ae580
cmp al, 0x2a
je 0x4ae580
cmp al, 0x2f
je 0x4ae580
cmp al, 0x26
je 0x4ae580
test al, al
je 0x4ae580
cmp al, 0x20
je 0x4ae580
push 0x16
push str.chunk_data_size_offset
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4addcb
mov al, byte [ebx + 0x16]
cmp al, 0x2b
je 0x4ae570
cmp al, 0x2d
je 0x4ae570
cmp al, 0x2a
je 0x4ae570
cmp al, 0x2f
je 0x4ae570
cmp al, 0x26
je 0x4ae570
test al, al
je 0x4ae570
cmp al, 0x20
je 0x4ae570
push 0xc
push str.chunk_number
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ade22
mov al, byte [ebx + 0xc]
cmp al, 0x2b
je 0x4ae560
cmp al, 0x2d
je 0x4ae560
cmp al, 0x2a
je 0x4ae560
cmp al, 0x2f
je 0x4ae560
cmp al, 0x26
je 0x4ae560
test al, al
je 0x4ae560
cmp al, 0x20
je 0x4ae560
push 0xf
push str.chunk_data_size
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ade79
mov al, byte [ebx + 0xf]
cmp al, 0x2b
je 0x4ae54d
cmp al, 0x2d
je 0x4ae54d
cmp al, 0x2a
je 0x4ae54d
cmp al, 0x2f
je 0x4ae54d
cmp al, 0x26
je 0x4ae54d
test al, al
je 0x4ae54d
cmp al, 0x20
je 0x4ae54d
push 0x11
push str.chunk_header_size
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4aded0
mov al, byte [ebx + 0x11]
cmp al, 0x2b
je 0x4ae53a
cmp al, 0x2d
je 0x4ae53a
cmp al, 0x2a
je 0x4ae53a
cmp al, 0x2f
je 0x4ae53a
cmp al, 0x26
je 0x4ae53a
test al, al
je 0x4ae53a
cmp al, 0x20
je 0x4ae53a
push 0xa
push str.name_value
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4adf27
mov al, byte [ebx + 0xa]
cmp al, 0x2b
je 0x4ae527
cmp al, 0x2d
je 0x4ae527
cmp al, 0x2a
je 0x4ae527
cmp al, 0x2f
je 0x4ae527
cmp al, 0x26
je 0x4ae527
test al, al
je 0x4ae527
cmp al, 0x20
je 0x4ae527
push 0xb
push str.name_value1
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4adf7d
mov al, byte [esi]
cmp al, 0x2b
je 0x4ae51c
cmp al, 0x2d
je 0x4ae51c
cmp al, 0x2a
je 0x4ae51c
cmp al, 0x2f
je 0x4ae51c
cmp al, 0x26
je 0x4ae51c
test al, al
je 0x4ae51c
cmp al, 0x20
je 0x4ae51c
push 0xb
push str.name_value2
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4adfd3
mov al, byte [esi]
cmp al, 0x2b
je 0x4ae511
cmp al, 0x2d
je 0x4ae511
cmp al, 0x2a
je 0x4ae511
cmp al, 0x2f
je 0x4ae511
cmp al, 0x26
je 0x4ae511
test al, al
je 0x4ae511
cmp al, 0x20
je 0x4ae511
push 0xb
push str.name_value3
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ae029
mov al, byte [esi]
cmp al, 0x2b
je 0x4ae506
cmp al, 0x2d
je 0x4ae506
cmp al, 0x2a
je 0x4ae506
cmp al, 0x2f
je 0x4ae506
cmp al, 0x26
je 0x4ae506
test al, al
je 0x4ae506
cmp al, 0x20
je 0x4ae506
push 0xb
push str.name_value4
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ae07f
mov al, byte [esi]
cmp al, 0x2b
je 0x4ae4fb
cmp al, 0x2d
je 0x4ae4fb
cmp al, 0x2a
je 0x4ae4fb
cmp al, 0x2f
je 0x4ae4fb
cmp al, 0x26
je 0x4ae4fb
test al, al
je 0x4ae4fb
cmp al, 0x20
je 0x4ae4fb
push 0xb
push str.name_value5
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ae0d5
mov al, byte [esi]
cmp al, 0x2b
je 0x4ae4f0
cmp al, 0x2d
je 0x4ae4f0
cmp al, 0x2a
je 0x4ae4f0
cmp al, 0x2f
je 0x4ae4f0
cmp al, 0x26
je 0x4ae4f0
test al, al
je 0x4ae4f0
cmp al, 0x20
je 0x4ae4f0
push 0xb
push str.name_value6
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ae12b
mov al, byte [esi]
cmp al, 0x2b
je 0x4ae4e5
cmp al, 0x2d
je 0x4ae4e5
cmp al, 0x2a
je 0x4ae4e5
cmp al, 0x2f
je 0x4ae4e5
cmp al, 0x26
je 0x4ae4e5
test al, al
je 0x4ae4e5
cmp al, 0x20
je 0x4ae4e5
push 0xb
push str.name_value7
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ae181
mov al, byte [esi]
cmp al, 0x2b
je 0x4ae4da
cmp al, 0x2d
je 0x4ae4da
cmp al, 0x2a
je 0x4ae4da
cmp al, 0x2f
je 0x4ae4da
cmp al, 0x26
je 0x4ae4da
test al, al
je 0x4ae4da
cmp al, 0x20
je 0x4ae4da
push 0xb
push str.name_value8
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ae1d7
mov al, byte [esi]
cmp al, 0x2b
je 0x4ae4cf
cmp al, 0x2d
je 0x4ae4cf
cmp al, 0x2a
je 0x4ae4cf
cmp al, 0x2f
je 0x4ae4cf
cmp al, 0x26
je 0x4ae4cf
test al, al
je 0x4ae4cf
cmp al, 0x20
je 0x4ae4cf
push 0xb
push str.name_value9
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ae21c
mov al, byte [esi]
cmp al, 0x2b
je 0x4ae211
cmp al, 0x2d
je 0x4ae211
cmp al, 0x2a
je 0x4ae211
cmp al, 0x2f
je 0x4ae211
cmp al, 0x26
je 0x4ae211
test al, al
je 0x4ae211
cmp al, 0x20
jne 0x4ae21c
mov esi, dword [edi + 0x33c]
jmp 0x4ae5e0
push 0xc
push str.name_value10
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ae273
mov al, byte [ebx + 0xc]
cmp al, 0x2b
je 0x4ae4bc
cmp al, 0x2d
je 0x4ae4bc
cmp al, 0x2a
je 0x4ae4bc
cmp al, 0x2f
je 0x4ae4bc
cmp al, 0x26
je 0x4ae4bc
test al, al
je 0x4ae4bc
cmp al, 0x20
je 0x4ae4bc
push 0xc
push str.name_value11
push ebx
lea esi, [ebx + 0xc]
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ae2cc
mov al, byte [esi]
cmp al, 0x2b
je 0x4ae4a9
cmp al, 0x2d
je 0x4ae4a9
cmp al, 0x2a
je 0x4ae4a9
cmp al, 0x2f
je 0x4ae4a9
cmp al, 0x26
je 0x4ae4a9
test al, al
je 0x4ae4a9
cmp al, 0x20
je 0x4ae4a9
push 0xc
push str.name_value12
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ae322
mov al, byte [esi]
cmp al, 0x2b
je 0x4ae496
cmp al, 0x2d
je 0x4ae496
cmp al, 0x2a
je 0x4ae496
cmp al, 0x2f
je 0x4ae496
cmp al, 0x26
je 0x4ae496
test al, al
je 0x4ae496
cmp al, 0x20
je 0x4ae496
push 0xc
push str.name_value13
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ae378
mov al, byte [esi]
cmp al, 0x2b
je 0x4ae483
cmp al, 0x2d
je 0x4ae483
cmp al, 0x2a
je 0x4ae483
cmp al, 0x2f
je 0x4ae483
cmp al, 0x26
je 0x4ae483
test al, al
je 0x4ae483
cmp al, 0x20
je 0x4ae483
push 0xc
push str.name_value14
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ae3ce
mov al, byte [esi]
cmp al, 0x2b
je 0x4ae470
cmp al, 0x2d
je 0x4ae470
cmp al, 0x2a
je 0x4ae470
cmp al, 0x2f
je 0x4ae470
cmp al, 0x26
je 0x4ae470
test al, al
je 0x4ae470
cmp al, 0x20
je 0x4ae470
push 0xc
push str.name_value15
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ae408
mov al, byte [esi]
cmp al, 0x2b
je 0x4ae45d
cmp al, 0x2d
je 0x4ae45d
cmp al, 0x2a
je 0x4ae45d
cmp al, 0x2f
je 0x4ae45d
cmp al, 0x26
je 0x4ae45d
test al, al
je 0x4ae45d
cmp al, 0x20
je 0x4ae45d
push 0xc
push str.name_value16
push ebx
mov dword [esp + 0x28], 0
call fcn.0050cdc0
add esp, 0xc
test eax, eax
jne 0x4ae705
mov al, byte [esi]
cmp al, 0x2b
je 0x4ae44a
cmp al, 0x2d
je 0x4ae44a
cmp al, 0x2a
je 0x4ae44a
cmp al, 0x2f
je 0x4ae44a
cmp al, 0x26
je 0x4ae44a
test al, al
je 0x4ae44a
cmp al, 0x20
jne 0x4ae705
mov esi, dword [edi + 0x358]
mov dword [esp + 0x1c], 0xc
jmp 0x4ae5e8
mov esi, dword [edi + 0x354]
mov dword [esp + 0x1c], 0xc
jmp 0x4ae5e8
mov esi, dword [edi + 0x350]
mov dword [esp + 0x1c], 0xc
jmp 0x4ae5e8
mov esi, dword [edi + 0x34c]
mov dword [esp + 0x1c], 0xc
jmp 0x4ae5e8
mov esi, dword [edi + 0x348]
mov dword [esp + 0x1c], 0xc
jmp 0x4ae5e8
mov esi, dword [edi + 0x344]
mov dword [esp + 0x1c], 0xc
jmp 0x4ae5e8
mov esi, dword [edi + 0x340]
mov dword [esp + 0x1c], 0xc
jmp 0x4ae5e8
mov esi, dword [edi + 0x338]
jmp 0x4ae5e0
mov esi, dword [edi + 0x334]
jmp 0x4ae5e0
mov esi, dword [edi + 0x330]
jmp 0x4ae5e0
mov esi, dword [edi + 0x32c]
jmp 0x4ae5e0
mov esi, dword [edi + 0x328]
jmp 0x4ae5e0
mov esi, dword [edi + 0x324]
jmp 0x4ae5e0
mov esi, dword [edi + 0x320]
jmp 0x4ae5e0
mov esi, dword [edi + 0x31c]
jmp 0x4ae5e0
mov esi, dword [edi + 0x31c]
mov dword [esp + 0x1c], 0xa
jmp 0x4ae5e8
mov esi, dword [edi + 0x2e8]
mov dword [esp + 0x1c], 0x11
jmp 0x4ae5e8
mov esi, dword [edi + 0x2ec]
mov dword [esp + 0x1c], 0xf
jmp 0x4ae5e8
mov esi, dword [edi + 0x2d8]
mov dword [esp + 0x1c], 0xc
jmp 0x4ae5e8
mov esi, dword [edi + 0x2f8]
mov dword [esp + 0x1c], 0x16
jmp 0x4ae5e8
mov esi, dword [edi + 0x2f4]
mov dword [esp + 0x1c], 0x11
jmp 0x4ae5e8
mov esi, dword [edi + 0x2e0]
mov dword [esp + 0x1c], 0xa
jmp 0x4ae5e8
mov esi, dword [edi + 0x2dc]
jmp 0x4ae5e0
mov esi, dword [edi + 0x2e4]
jmp 0x4ae5e0
mov esi, dword [edi + 0x294]
mov dword [esp + 0x1c], 0xc
jmp 0x4ae5e8
mov esi, dword [edi + 0x290]
jmp 0x4ae5e0
mov esi, dword [edi + 0x7c]
mov dword [esp + 0x1c], 0xc
jmp 0x4ae5e8
mov esi, dword [edi + 0x78]
jmp 0x4ae5e0
mov esi, dword [edi + 0x314]
mov dword [esp + 0x1c], 0xb
cmp dword [edi + 0x384], 0
mov dword [esp + 0x20], esi
je 0x4ae607
push esi
push str.TXTH:__use_field_value_0x_x_n
call fcn.0040b9e0
add esp, 8
mov esi, dword [esp + 0x20]
movsx eax, byte [esp + 0x12]
add eax, 0xffffffda
cmp eax, 9
ja case.0x4ae618.39
jmp dword [eax*4 + 0x4ae790]
add esi, dword [esp + 0x30]
mov edx, dword [esp + 0x44]
mov ecx, esi
mov dword [esp + 0x20], esi
mov byte [esp + 0x12], 0x20
mov dword [esp + 0x30], ecx
jmp 0x4ae6b7
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x44]
sub eax, esi
mov esi, eax
mov byte [esp + 0x12], 0x20
mov ecx, esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], ecx
jmp 0x4ae6b7
imul esi, dword [esp + 0x30]
mov edx, dword [esp + 0x44]
mov byte [esp + 0x12], 0x20
mov ecx, esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], ecx
jmp 0x4ae6b7
test esi, esi
je 0x4ae6c8
mov eax, dword [esp + 0x30]
xor edx, edx
div esi
mov edx, dword [esp + 0x44]
mov esi, eax
mov byte [esp + 0x12], 0x20
mov ecx, esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], ecx
jmp 0x4ae6b7
and esi, dword [esp + 0x30]
mov dword [esp + 0x20], esi
mov edx, dword [esp + 0x44]
mov ecx, esi
mov byte [esp + 0x12], 0x20
mov dword [esp + 0x30], ecx
jmp 0x4ae6b7
mov byte [esp + 0x12], al
mov dword [esp + 0x1c], 1
add ebx, dword [esp + 0x1c]
cmp byte [ebx], 0
jne 0x4acf40
test edx, edx
jle 0x4ae70f
mov esi, dword [esp + 0x24]
cmp dword [esi + 0x384], 0
je 0x4ae6e3
push ebx
push str.TXTH:_error_parsing_num__s_n
call fcn.0040b9e0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x314]
sub ecx, eax
push eax
push ecx
push str.TXTH:__wrong_offset_over_file_size___x___x__n
call fcn.0040b9e0
add esp, 0xc
jmp case.default.0x4ad190
mov dword [esp + 0x1c], 0
jmp 0x4ae6c8
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4ae724
cmp dword [edi + 8], 0
je 0x4ae724
imul ecx, eax
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x4ae73a
cmp dword [edi + 0xc], 0
je 0x4ae73a
mov eax, ecx
xor edx, edx
div ebx
mov ecx, eax
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x4ae74a
cmp dword [edi + 0x10], 0
je 0x4ae74a
add ecx, eax
test esi, esi
je 0x4ae756
cmp dword [edi + 0x14], 0
je 0x4ae756
sub ecx, esi
mov eax, dword [ebp + 0xc]
mov dword [eax], ecx
cmp dword [edi + 0x384], 0
je 0x4ae773
push ecx
push ecx
push str.TXTH:__final_value:__u__0x_x__n
call fcn.0040b9e0
add esp, 0xc
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret