Function at 0x1007b6d0
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x3c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x4c]
xor eax, eax
xor ebp, ebp
mov dword [esp + 0x40], 0
xor ebx, ebx
mov dword [esp + 0x1c], 0
push edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x24], eax
cmp dword [esi + 0x1cfc], eax
jne 0x1007b722
cmp dword [esi + 0x1d54], eax
jl 0x1007b722
jg 0x1007b714
cmp dword [esi + 0x1d50], 0xffffffff
jbe 0x1007b722
push str.Warning_:_filelength___0xffffffff._This_is_bad_____n
push esi
call fcn.1006ac00
add esp, 8
mov edi, dword [esi + 0x1da8]
mov dword [esp + 0x10], edi
test edi, edi
jne 0x1007b73b
lea eax, [edi + 0x1d]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
push 0xfffffffffffffffc
lea eax, [esp + 0x54]
push eax
push 0
push 0x10206500
push esi
call fcn.100691b0
add esp, 0x14
mov dword [esi + 0x1b30], ebx
cmp dword [esp + 0x50], 0x46464952
mov eax, 0x20000000
mov ecx, 0x10000000
mov dword [esi + 0x1b34], ebx
cmove eax, ecx
mov dword [esi + 0x1b48], eax
nop dword [eax]
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x48], 0
push ecx
and eax, 1
mov dword [esp + 0x58], 0
push eax
push 0x10207508
push esi
call fcn.100691b0
add esp, 0x14
cmp dword [esp + 0x50], 0
je 0x1007c30a
push dword [esp + 0x44]
push esi
call fcn.1006c250
add esp, 4
push edx
push eax
push dword [esp + 0x5c]
lea eax, [esi + 0x1e4c]
push eax
call fcn.1008ebd0
mov ecx, dword [esp + 0x64]
add esp, 0x14
cmp ecx, 0x63727473
ja 0x1007bf00
je 0x1007ba7f
cmp ecx, 0x4c4d5869
ja 0x1007bb71
je 0x1007ba7f
cmp ecx, 0x316d6c65
ja 0x1007bafc
je 0x1007ba7f
cmp ecx, 0x206d6c63
ja 0x1007baa6
je 0x1007ba7f
cmp ecx, 0x20444150
je 0x1007ba7f
cmp ecx, 0x20657563
jne 0x1007c0f0
lea eax, [esp + 0x18]
or ebx, 0x40
push eax
push 0x10205af0
push esi
call fcn.100691b0
push dword [esp + 0x50]
mov ebp, eax
push dword [esp + 0x60]
push str._M_:__u_n
push esi
call fcn.1006ac00
mov eax, dword [esp + 0x34]
add esp, 0x1c
push eax
cmp eax, 0x9c4
jbe 0x1007b911
push str.__Count_:__u__skipping__n
push esi
call fcn.1006ac00
mov eax, dword [esp + 0x50]
sub eax, ebp
push eax
push 0x10204c18
push esi
call fcn.100691b0
add esp, 0x18
mov ebp, dword [esp + 0x14]
mov ecx, dword [esi + 0x1d54]
xor edx, edx
mov eax, dword [esi + 0x1d50]
cmp edx, ecx
jg 0x1007c2f4
jl 0x1007b8c2
cmp dword [esp + 0x44], eax
jae 0x1007c2f4
cmp dword [esi + 0x1d28], edx
jne 0x1007b8d3
test bl, 0x20
jne 0x1007c322
push esi
call fcn.1006c250
mov edi, dword [esi + 0x1d50]
add esp, 4
mov ecx, dword [esi + 0x1d54]
sub edi, 4
sbb ecx, 0
cmp edx, ecx
jg 0x1007c2e4
jl 0x1007b900
cmp eax, edi
jae 0x1007c2e4
test ebp, ebp
jne 0x1007c322
mov edi, dword [esp + 0x10]
jmp 0x1007b780
push str.__Count_:__d_n
push esi
call fcn.1006ac00
mov eax, dword [esi + 0x1d38]
add esp, 0xc
test eax, eax
je 0x1007b93c
push eax
call fcn.10128533
add esp, 4
mov dword [esi + 0x1d38], 0
push dword [esp + 0x18]
call fcn.1006a600
add esp, 4
mov dword [esi + 0x1d38], eax
test eax, eax
je 0x1007c289
xor edi, edi
cmp dword [esp + 0x18], edi
je 0x1007ba4c
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
push eax
push str.e44m444
push esi
call fcn.100691b0
add esp, 0x20
test eax, eax
je 0x1007ba4c
add ebp, eax
cmp edi, 0xa
jge 0x1007b9c5
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push str.___Cue_ID_:__2d__Pos_:__5u__Chunk_:__M__Chk_Start_:__d__Blk_Start_:__d__Offset_:__5d_n
push esi
call fcn.1006ac00
add esp, 0x20
jmp 0x1007b9d5
jne 0x1007b9d5
push str.____Skipping__n
push esi
call fcn.1006ac00
add esp, 8
mov ecx, dword [esi + 0x1d38]
mov eax, dword [esp + 0x28]
imul edx, edi, 0x118
inc edi
mov dword [edx + ecx + 4], eax
mov ecx, dword [esi + 0x1d38]
mov eax, dword [esp + 0x2c]
mov dword [edx + ecx + 8], eax
mov ecx, dword [esi + 0x1d38]
mov eax, dword [esp + 0x30]
mov dword [edx + ecx + 0xc], eax
mov ecx, dword [esi + 0x1d38]
mov eax, dword [esp + 0x34]
mov dword [edx + ecx + 0x10], eax
mov ecx, dword [esi + 0x1d38]
mov eax, dword [esp + 0x38]
mov dword [edx + ecx + 0x14], eax
mov ecx, dword [esi + 0x1d38]
mov eax, dword [esp + 0x3c]
mov dword [edx + ecx + 0x18], eax
mov eax, dword [esi + 0x1d38]
mov byte [edx + eax + 0x1c], 0
mov eax, dword [esp + 0x18]
dec eax
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1007b962
mov eax, dword [esp + 0x44]
cmp ebp, eax
je 0x1007b89c
push ebp
push eax
push str._Chunk_size_weirdness___d____d__n
push esi
call fcn.1006ac00
mov eax, dword [esp + 0x54]
sub eax, ebp
push eax
push 0x10204c18
push esi
call fcn.100691b0
add esp, 0x1c
jmp 0x1007b89c
push dword [esp + 0x44]
push ecx
push str._M_:__u_n
push esi
call fcn.1006ac00
push dword [esp + 0x54]
push 0x10204c18
push esi
call fcn.100691b0
add esp, 0x1c
jmp 0x1007b8a0
cmp ecx, 0x20746d66
jne 0x1007c0f0
mov eax, ebx
and eax, 3
cmp al, 3
jne 0x1007c296
test bl, 4
jne 0x1007b8a0
push dword [esp + 0x44]
or ebx, 4
push str.fmt__:__d_n
push esi
call fcn.1006ac00
push dword [esp + 0x50]
push esi
call fcn.100a2950
add esp, 0x14
test eax, eax
jne 0x1007c5e6
movzx eax, word [edi + 0xc]
mov dword [esp + 0x24], eax
jmp 0x1007b8a0
cmp ecx, 0x46464952
je 0x1007bdfa
cmp ecx, 0x4b414550
je 0x1007bb21
cmp ecx, 0x4b4e554a
je 0x1007ba7f
jmp 0x1007c0f0
mov eax, ebx
and eax, 7
cmp al, 7
jne 0x1007c2a3
push dword [esp + 0x44]
or ebx, 0x10
push ecx
push str._M_:__u_n
push esi
call fcn.1006ac00
push dword [esp + 0x54]
push esi
call fcn.100a36d0
add esp, 0x18
test eax, eax
jne 0x1007c5e6
mov eax, dword [esi + 0x1d34]
mov ecx, ebx
and ecx, 0x20
or ecx, 0x540
shr ecx, 5
mov dword [eax], ecx
jmp 0x1007b8a0
cmp ecx, 0x5458454d
ja 0x1007bbd0
je 0x1007ba7f
cmp ecx, 0x524c4c46
ja 0x1007bba6
je 0x1007ba7f
cmp ecx, 0x4f464e49
je 0x1007bbb2
cmp ecx, 0x50534944
je 0x1007ba7f
jmp 0x1007c0f0
cmp ecx, 0x5453494c
jne 0x1007c0f0
push dword [esp + 0x44]
or ebx, 0x40
push ecx
push esi
call fcn.100a3910
add esp, 0xc
test eax, eax
jne 0x1007c5e6
jmp 0x1007b8a0
cmp ecx, 0x58464952
je 0x1007bdfa
cmp ecx, 0x584d505f
je 0x1007ba7f
cmp ecx, 0x61746164
jne 0x1007c0f0
mov eax, ebx
and eax, 7
cmp al, 7
jne 0x1007c339
cmp dword [esi + 0x90c], 0x30
jne 0x1007bc13
test bl, 0x40
jne 0x1007c2b0
mov eax, dword [esp + 0x44]
lea edi, [esi + 0x1d70]
mov dword [edi], eax
or ebx, 0x20
and eax, 1
mov dword [edi + 4], 0
or eax, 0
je 0x1007bc3f
push str._data_chunk_should_be_an_even_number_of_bytes_in_length._n
push esi
call fcn.1006ac00
add esp, 8
push esi
call fcn.1006c250
add esp, 4
mov dword [esi + 0x1d6c], edx
mov ebp, eax
mov dword [esi + 0x1d68], ebp
test edx, edx
jl 0x1007bd8d
jg 0x1007bc68
test ebp, ebp
je 0x1007bd8d
cmp dword [esp + 0x44], 0
mov eax, ebp
mov dword [esp + 0x1c], edx
jne 0x1007bcd3
cmp dword [esp + 0x20], 8
mov dword [esp + 0x1c], edx
jne 0x1007bcd3
cmp dword [esi + 0x1d54], 0
mov dword [esp + 0x1c], edx
jl 0x1007bcd3
jg 0x1007bc98
cmp dword [esi + 0x1d50], 0x2c
jbe 0x1007bcd3
push str._Looks_like_a_WAV_file_which_wasnt_closed_properly._Fixing_it._n
push esi
call fcn.1006ac00
mov eax, dword [esi + 0x1d6c]
add esp, 8
mov ecx, dword [esi + 0x1d50]
sub ecx, dword [esi + 0x1d68]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x1d54]
sbb eax, dword [esi + 0x1d6c]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x1d68]
mov dword [edi], ecx
mov ecx, dword [esi + 0x1d50]
mov edx, dword [esi + 0x1d54]
sub ecx, eax
mov ebp, dword [edi + 4]
sbb edx, dword [esp + 0x1c]
mov eax, dword [edi]
cmp ebp, edx
jl 0x1007bd25
jg 0x1007bcf4
cmp eax, ecx
jbe 0x1007bd25
push edx
push ecx
push ebp
push eax
push str.data_:__D__should_be__D__n
push esi
call fcn.1006ac00
mov ecx, dword [esi + 0x1d50]
add esp, 0x18
sub ecx, dword [esi + 0x1d68]
mov eax, dword [esi + 0x1d54]
sbb eax, dword [esi + 0x1d6c]
mov dword [edi], ecx
mov dword [edi + 4], eax
jmp 0x1007bd35
push ebp
push eax
push str.data_:__D_n
push esi
call fcn.1006ac00
add esp, 0x10
mov eax, dword [edi]
mov ebp, dword [esi + 0x1d68]
add eax, ebp
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x1d6c]
adc ecx, edx
cmp ecx, dword [esi + 0x1d54]
jg 0x1007bd68
jl 0x1007bd5c
cmp eax, dword [esi + 0x1d50]
jae 0x1007bd68
mov dword [esi + 0x1d78], eax
mov dword [esi + 0x1d7c], ecx
mov ecx, dword [esp + 0x44]
xor eax, eax
and ecx, 1
mov dword [esp + 0x44], 0
add dword [edi], ecx
adc eax, dword [edi + 4]
mov dword [edi + 4], eax
lea eax, [esi + 0x1d70]
mov dword [esp + 0x1c], eax
jmp 0x1007bd91
mov dword [esp + 0x1c], edi
cmp dword [esi + 0x1d28], 0
je 0x1007b89c
test edx, edx
jl 0x1007b89c
jg 0x1007bdb0
test ebp, ebp
jb 0x1007b89c
push 1
push dword [edi + 4]
push dword [edi]
push esi
call fcn.1006c190
push esi
call fcn.1006c250
mov edi, dword [esp + 0x30]
add esp, 0x14
mov ecx, dword [edi]
add ecx, dword [esi + 0x1d68]
mov edi, dword [edi + 4]
adc edi, dword [esi + 0x1d6c]
cmp eax, ecx
jne 0x1007bde7
cmp edx, edi
je 0x1007b89c
push str._psf_fseek_past_end_error__n
push esi
call fcn.1006ac00
add esp, 8
jmp 0x1007b89c
test ebx, ebx
jne 0x1007c2ca
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x20], ebp
lea edx, [ebp + 8]
cmp dword [esi + 0x1d5c], ebx
jl 0x1007be59
jg 0x1007be1f
cmp dword [esi + 0x1d58], ebx
jbe 0x1007be59
cmp dword [esi + 0x1d54], 0
jl 0x1007be59
jg 0x1007be32
cmp dword [esi + 0x1d50], edx
jbe 0x1007be59
cmp ecx, 0x46464952
mov dword [esi + 0x1d50], edx
mov eax, str.RIFF_:__u_n
mov dword [esi + 0x1d54], 0
mov ecx, str.RIFX_:__u_n
cmovne eax, ecx
push ebp
push eax
jmp 0x1007beb8
mov edi, dword [esi + 0x1d54]
mov eax, dword [esi + 0x1d50]
test edi, edi
jg 0x1007bea3
jl 0x1007be6f
cmp eax, edx
jae 0x1007bea3
cmp ecx, 0x46464952
mov ecx, str.RIFF_:__u__should_be__D__n
je 0x1007be81
mov ecx, str.RIFX_:__u__should_be__D__n
add eax, 0xfffffff8
adc edi, 0xffffffff
push edi
push eax
push ebp
push ecx
push esi
call fcn.1006ac00
mov ebp, dword [esi + 0x1d50]
add esp, 0x14
sub ebp, 8
mov dword [esp + 0x20], ebp
jmp 0x1007bec1
push ebp
cmp ecx, 0x46464952
jne 0x1007beb3
push str.RIFF_:__u_n
jmp 0x1007beb8
push str.RIFX_:__u_n
push esi
call fcn.1006ac00
add esp, 0xc
lea eax, [esp + 0x50]
push eax
push 0x10204bd8
push esi
call fcn.100691b0
add esp, 0xc
cmp dword [esp + 0x50], 0x45564157
jne 0x1007c2bd
push str.WAVE_n
push esi
or ebx, 3
call fcn.1006ac00
add esp, 8
mov dword [esp + 0x44], 0
jmp 0x1007b89c
cmp ecx, 0x6f6d6c65
ja 0x1007bfd9
je 0x1007ba7f
cmp ecx, 0x6c706d73
ja 0x1007bfb0
je 0x1007bf84
cmp ecx, 0x666e696d
ja 0x1007bf73
je 0x1007ba7f
cmp ecx, 0x64696361
je 0x1007bf47
cmp ecx, 0x64696d75
je 0x1007ba7f
jmp 0x1007c0f0
push dword [esp + 0x44]
or ebx, 0x40
push str.acid_:__u_n
push esi
call fcn.1006ac00
push dword [esp + 0x50]
push esi
call fcn.1007b480
add esp, 0x14
test eax, eax
jne 0x1007c5e6
jmp 0x1007b8a0
cmp ecx, 0x6677766f
je 0x1007ba7f
jmp 0x1007c0f0
push dword [esp + 0x44]
or ebx, 0x40
push str.smpl_:__u_n
push esi
call fcn.1006ac00
push dword [esp + 0x50]
push esi
call fcn.1007c680
add esp, 0x14
test eax, eax
jne 0x1007c5e6
jmp 0x1007b8a0
cmp ecx, 0x6c76656c
je 0x1007ba7f
cmp ecx, 0x6e414641
je 0x1007ba7f
cmp ecx, 0x6e676572
je 0x1007ba7f
jmp 0x1007c0f0
cmp ecx, 0x74726163
ja 0x1007c0cc
je 0x1007c0b2
cmp ecx, 0x72387243
ja 0x1007c016
je 0x1007ba7f
cmp ecx, 0x704c7953
je 0x1007ba7f
cmp ecx, 0x70736661
je 0x1007ba7f
jmp 0x1007c0f0
cmp ecx, 0x74636166
jne 0x1007c0f0
mov eax, ebx
and eax, 3
cmp al, 3
jne 0x1007c2d7
or ebx, 8
test bl, 4
jne 0x1007c045
push str._Should_have_fmt__chunk_before_fact_n
push esi
call fcn.1006ac00
add esp, 8
lea eax, [esp + 0x40]
push eax
push 0x10205af0
push esi
call fcn.100691b0
mov eax, dword [esp + 0x50]
add esp, 0xc
cmp eax, 4
jbe 0x1007c077
add eax, 0xfffffffc
push eax
push 0x10204c18
push esi
call fcn.100691b0
mov eax, dword [esp + 0x50]
add esp, 0xc
test eax, eax
je 0x1007c087
push eax
push dword [esp + 0x54]
push str._M_:__u_n
jmp 0x1007c092
push 0
push dword [esp + 0x54]
push str._M_:__u__should_not_be_zero__n
push esi
call fcn.1006ac00
add esp, 0x10
push dword [esp + 0x40]
push str.__frames__:__d_n
push esi
call fcn.1006ac00
add esp, 0xc
jmp 0x1007b8a0
push dword [esp + 0x44]
push esi
call fcn.100a2650
add esp, 8
test eax, eax
jne 0x1007c5e6
jmp 0x1007b8a0
cmp ecx, 0x74736c70
je 0x1007ba7f
cmp ecx, 0x74736e69
je 0x1007ba7f
cmp ecx, 0x74786562
je 0x1007c26f
mov eax, dword [esp + 0x44]
cmp eax, 0xffff0000
jb 0x1007c12d
push eax
mov ebp, 1
push esi
mov dword [esp + 0x1c], ebp
call fcn.1006c250
add esp, 4
sub eax, 8
sbb edx, 0
push edx
push eax
push dword [esp + 0x5c]
push str._Unknown_chunk_marker___X__at_position__D_with_length__u._Exiting_parser._n
push esi
call fcn.1006ac00
add esp, 0x18
jmp 0x1007b8a0
mov eax, ecx
and eax, 0xffffff
cmp eax, 0x474154
jne 0x1007c185
push esi
call fcn.1006c250
add esp, 4
add eax, 0x78
adc edx, 0
cmp eax, dword [esi + 0x1d50]
jne 0x1007c181
cmp edx, dword [esi + 0x1d54]
jne 0x1007c181
push str._Hit_ID3v1_trailer._Exiting_parser._n
push esi
call fcn.1006ac00
mov ebp, 1
mov dword [esp + 0x4c], 0x80
add esp, 8
mov dword [esp + 0x14], ebp
or ebx, 0x40
jmp 0x1007b8a0
mov ecx, dword [esp + 0x50]
shr ecx, 0x18
push ecx
call fcn.1006ab20
add esp, 4
test eax, eax
je 0x1007c1ff
mov eax, dword [esp + 0x50]
shr eax, 0x10
movzx eax, al
push eax
call fcn.1006ab20
add esp, 4
test eax, eax
je 0x1007c1ff
mov eax, dword [esp + 0x50]
shr eax, 8
movzx eax, al
push eax
call fcn.1006ab20
add esp, 4
test eax, eax
je 0x1007c1ff
movzx eax, byte [esp + 0x50]
push eax
call fcn.1006ab20
add esp, 4
test eax, eax
je 0x1007c1ff
push dword [esp + 0x44]
push dword [esp + 0x54]
push str.__M_:__u__unknown_marker__n
push esi
call fcn.1006ac00
push dword [esp + 0x54]
push 0x10204c18
push esi
call fcn.100691b0
add esp, 0x1c
jmp 0x1007b8a0
push esi
call fcn.1006c250
add esp, 4
and eax, 3
xor edx, edx
or eax, edx
push esi
je 0x1007c242
call fcn.1006c250
sub eax, 8
sbb edx, 0
push edx
push eax
push str.__Unknown_chunk_marker_at_position__D._Resynching._n
push esi
call fcn.1006ac00
push 0xfffffffffffffffd
push 0x10204c18
push esi
call fcn.100691b0
add esp, 0x20
or ebx, 0x40
jmp 0x1007b8a0
call fcn.1006c250
sub eax, 8
sbb edx, 0
push edx
push eax
push dword [esp + 0x5c]
push str._Unknown_chunk_marker___X__at_position__D._Exiting_parser._n
push esi
call fcn.1006ac00
mov ebp, 1
add esp, 0x18
mov dword [esp + 0x14], ebp
jmp 0x1007b8a0
push dword [esp + 0x44]
push esi
call fcn.100a2460
add esp, 8
test eax, eax
jne 0x1007c5e6
jmp 0x1007b8a0
pop edi
pop esi
pop ebp
mov eax, 0x11
pop ebx
add esp, 0x3c
ret
pop edi
pop esi
pop ebp
mov eax, 0x3f
pop ebx
add esp, 0x3c
ret
pop edi
pop esi
pop ebp
mov eax, 0x44
pop ebx
add esp, 0x3c
ret
pop edi
pop esi
pop ebp
mov eax, 0x2f
pop ebx
add esp, 0x3c
ret
pop edi
pop esi
pop ebp
mov eax, 0x3e
pop ebx
add esp, 0x3c
ret
pop edi
pop esi
pop ebp
mov eax, 0x3d
pop ebx
add esp, 0x3c
ret
pop edi
pop esi
pop ebp
mov eax, 0x42
pop ebx
add esp, 0x3c
ret
push str.End_n
push esi
call fcn.1006ac00
add esp, 8
jmp 0x1007c322
push ecx
push eax
push dword [esp + 0x4c]
push str._Chunk_size__u___file_length__D._Exiting_parser._n
push esi
call fcn.1006ac00
add esp, 0x14
jmp 0x1007c322
push esi
call fcn.1006c250
push edx
push eax
push edx
push eax
push str.Have_0_marker_at_position__D__0x_x_._n
push esi
call fcn.1006ac00
add esp, 0x1c
cmp dword [esi + 0x1d6c], 0
lea ebp, [esi + 0x1d68]
jg 0x1007c346
jl 0x1007c339
cmp dword [ebp], 0
ja 0x1007c346
pop edi
pop esi
pop ebp
mov eax, 0x47
pop ebx
add esp, 0x3c
ret
mov eax, dword [esi + 0x1d1c]
cmp eax, 1
jge 0x1007c35e
pop edi
pop esi
pop ebp
mov eax, 0x20
pop ebx
add esp, 0x3c
ret
cmp eax, 0x400
jle 0x1007c372
pop edi
pop esi
pop ebp
mov eax, 0x21
pop ebx
add esp, 0x3c
ret
cmp dword [esp + 0x24], 1
mov edi, ebp
je 0x1007c394
test bl, 8
jne 0x1007c394
push str._All_non_PCM_format_files_should_have_a_fact_chunk._n
push esi
call fcn.1006ac00
add esp, 8
lea edi, [esi + 0x1d68]
mov eax, dword [esi + 0x1b48]
push 0
push dword [ebp + 4]
mov dword [esi + 0x1ce8], eax
push dword [ebp]
push esi
call fcn.1006c190
add esp, 0x10
cmp dword [esi + 0x1cfc], 0
jne 0x1007c3e5
lea eax, [esp + 0x50]
push eax
push 0x10205af0
push esi
call fcn.100691b0
mov eax, dword [esp + 0x5c]
add esp, 0xc
cmp eax, 0x6b707677
je 0x1007c42b
cmp eax, 0x5367674f
je 0x1007c42b
lea edi, [esi + 0x1d68]
push 0
push dword [edi + 4]
push dword [edi]
push esi
call fcn.1006c190
mov eax, dword [esi + 0x1d80]
add esp, 0x10
test eax, eax
je 0x1007c452
mov ecx, dword [esi + 0x1d50]
sub ecx, dword [edi]
mov ebp, dword [esi + 0x1d54]
sbb ebp, dword [edi + 4]
mov edi, dword [esi + 0x1d70]
cdq
cmp ebp, dword [esi + 0x1d74]
jg 0x1007c438
jl 0x1007c425
cmp ecx, edi
jae 0x1007c438
push edx
push eax
push ebp
push ecx
jmp 0x1007c441
pop edi
pop esi
pop ebp
mov eax, 0x4e
pop ebx
add esp, 0x3c
ret
push edx
push eax
push dword [esi + 0x1d74]
push edi
call fcn.1011c9c0
mov dword [esi + 0x1d14], edx
mov dword [esi + 0x1d10], eax
mov eax, dword [esp + 0x24]
cmp eax, 0x101
jg 0x1007c581
je case.0x1007c478.7
dec eax
cmp eax, 0x54
ja case.0x1007c478.4
movzx eax, byte [eax + 0x1007c61c]
jmp dword [eax*4 + 0x1007c5f0]
mov edx, dword [esp + 0x10]
movzx eax, word [edx + 0x1a]
sub eax, 2
je 0x1007c4b8
sub eax, 1
je 0x1007c4a9
sub eax, 1
jne case.0x1007c478.4
mov dword [esi + 0x1d20], 0x10024
jmp 0x1007c5bf
mov dword [esi + 0x1d20], 0x10023
jmp 0x1007c5bf
mov dword [esi + 0x1d20], 0x10022
jmp 0x1007c5bf
mov eax, dword [esi + 0x1d84]
shl eax, 3
push eax
call fcn.1006ba20
add esp, 4
or eax, 0x10000
mov dword [esi + 0x1d20], eax
jmp 0x1007c5bb
mov dword [esi + 0x1d20], 0x10013
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x54]
movzx ecx, word [edx + 0x18]
mov dword [eax], ecx
mov eax, dword [esp + 0x58]
movzx ecx, word [edx + 0x1e]
mov dword [eax], ecx
jmp 0x1007c5bf
mov dword [esi + 0x1d20], 0x10012
jmp 0x1007c4f3
mov dword [esi + 0x1d20], 0x10020
jmp 0x1007c5bb
xor eax, eax
cmp dword [esi + 0x1d84], 8
sete al
add eax, 6
or eax, 0x10000
mov dword [esi + 0x1d20], eax
jmp 0x1007c5bb
mov dword [esi + 0x1d20], 0x10030
jmp 0x1007c5bb
mov dword [esi + 0x1d20], 0x10082
test bl, 8
je 0x1007c5bb
mov eax, dword [esp + 0x40]
cdq
mov dword [esi + 0x1d10], eax
mov dword [esi + 0x1d14], edx
jmp 0x1007c5bb
mov dword [esi + 0x1d20], 0x10010
jmp 0x1007c5bb
cmp eax, 0x102
je case.0x1007c478.6
cmp eax, 0xfffe
je 0x1007c59c
pop edi
pop esi
pop ebp
mov eax, 0x12
pop ebx
add esp, 0x3c
ret
cmp dword [esi + 0x1d20], 0x130013
mov edx, dword [esp + 0x10]
jne 0x1007c5bf
jmp 0x1007c4f7
mov dword [esi + 0x1d20], 0x10011
mov edx, dword [esp + 0x10]
cmp dword [edx + 8], 0
je 0x1007c5ce
push esi
call fcn.100a2200
add esp, 4
cmp dword [esi + 0x1ce8], 0x20000000
jne 0x1007c5e4
or dword [esi + 0x1d20], 0x20000000
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret