Function at 0x1001b770
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 0x1001b7c2
cmp dword [esi + 0x1d54], eax
jl 0x1001b7c2
jg 0x1001b7b4
cmp dword [esi + 0x1d50], 0xffffffff
jbe 0x1001b7c2
push str.Warning_:_filelength___0xffffffff._This_is_bad_____n
push esi
call fcn.1000ac80
add esp, 8
mov edi, dword [esi + 0x1da8]
mov dword [esp + 0x10], edi
test edi, edi
jne 0x1001b7db
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 0x10175c50
push esi
call fcn.10009230
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 0x10176c60
push esi
call fcn.10009230
add esp, 0x14
cmp dword [esp + 0x50], 0
je 0x1001c3aa
push dword [esp + 0x44]
push esi
call fcn.1000c2d0
add esp, 4
push edx
push eax
push dword [esp + 0x5c]
lea eax, [esi + 0x1e4c]
push eax
call fcn.1002ec70
mov ecx, dword [esp + 0x64]
add esp, 0x14
cmp ecx, 0x63727473
ja 0x1001bfa0
je 0x1001bb1f
cmp ecx, 0x4c4d5869
ja 0x1001bc11
je 0x1001bb1f
cmp ecx, 0x316d6c65
ja 0x1001bb9c
je 0x1001bb1f
cmp ecx, 0x206d6c63
ja 0x1001bb46
je 0x1001bb1f
cmp ecx, 0x20444150
je 0x1001bb1f
cmp ecx, 0x20657563
jne 0x1001c190
lea eax, [esp + 0x18]
or ebx, 0x40
push eax
push 0x10175240
push esi
call fcn.10009230
push dword [esp + 0x50]
mov ebp, eax
push dword [esp + 0x60]
push str._M_:__u_n
push esi
call fcn.1000ac80
mov eax, dword [esp + 0x34]
add esp, 0x1c
push eax
cmp eax, 0x9c4
jbe 0x1001b9b1
push str.__Count_:__u__skipping__n
push esi
call fcn.1000ac80
mov eax, dword [esp + 0x50]
sub eax, ebp
push eax
push 0x10174358
push esi
call fcn.10009230
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 0x1001c394
jl 0x1001b962
cmp dword [esp + 0x44], eax
jae 0x1001c394
cmp dword [esi + 0x1d28], edx
jne 0x1001b973
test bl, 0x20
jne 0x1001c3c2
push esi
call fcn.1000c2d0
mov edi, dword [esi + 0x1d50]
add esp, 4
mov ecx, dword [esi + 0x1d54]
sub edi, 4
sbb ecx, 0
cmp edx, ecx
jg 0x1001c384
jl 0x1001b9a0
cmp eax, edi
jae 0x1001c384
test ebp, ebp
jne 0x1001c3c2
mov edi, dword [esp + 0x10]
jmp 0x1001b820
push str.__Count_:__d_n
push esi
call fcn.1000ac80
mov eax, dword [esi + 0x1d38]
add esp, 0xc
test eax, eax
je 0x1001b9dc
push eax
call fcn.100a80a4
add esp, 4
mov dword [esi + 0x1d38], 0
push dword [esp + 0x18]
call fcn.1000a680
add esp, 4
mov dword [esi + 0x1d38], eax
test eax, eax
je 0x1001c329
xor edi, edi
cmp dword [esp + 0x18], edi
je 0x1001baec
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.10009230
add esp, 0x20
test eax, eax
je 0x1001baec
add ebp, eax
cmp edi, 0xa
jge 0x1001ba65
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.1000ac80
add esp, 0x20
jmp 0x1001ba75
jne 0x1001ba75
push str.____Skipping__n
push esi
call fcn.1000ac80
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 0x1001ba02
mov eax, dword [esp + 0x44]
cmp ebp, eax
je 0x1001b93c
push ebp
push eax
push str._Chunk_size_weirdness___d____d__n
push esi
call fcn.1000ac80
mov eax, dword [esp + 0x54]
sub eax, ebp
push eax
push 0x10174358
push esi
call fcn.10009230
add esp, 0x1c
jmp 0x1001b93c
push dword [esp + 0x44]
push ecx
push str._M_:__u_n
push esi
call fcn.1000ac80
push dword [esp + 0x54]
push 0x10174358
push esi
call fcn.10009230
add esp, 0x1c
jmp 0x1001b940
cmp ecx, 0x20746d66
jne 0x1001c190
mov eax, ebx
and eax, 3
cmp al, 3
jne 0x1001c336
test bl, 4
jne 0x1001b940
push dword [esp + 0x44]
or ebx, 4
push str.fmt__:__d_n
push esi
call fcn.1000ac80
push dword [esp + 0x50]
push esi
call fcn.100429e0
add esp, 0x14
test eax, eax
jne 0x1001c686
movzx eax, word [edi + 0xc]
mov dword [esp + 0x24], eax
jmp 0x1001b940
cmp ecx, 0x46464952
je 0x1001be9a
cmp ecx, 0x4b414550
je 0x1001bbc1
cmp ecx, 0x4b4e554a
je 0x1001bb1f
jmp 0x1001c190
mov eax, ebx
and eax, 7
cmp al, 7
jne 0x1001c343
push dword [esp + 0x44]
or ebx, 0x10
push ecx
push str._M_:__u_n
push esi
call fcn.1000ac80
push dword [esp + 0x54]
push esi
call fcn.10043760
add esp, 0x18
test eax, eax
jne 0x1001c686
mov eax, dword [esi + 0x1d34]
mov ecx, ebx
and ecx, 0x20
or ecx, 0x540
shr ecx, 5
mov dword [eax], ecx
jmp 0x1001b940
cmp ecx, 0x5458454d
ja 0x1001bc70
je 0x1001bb1f
cmp ecx, 0x524c4c46
ja 0x1001bc46
je 0x1001bb1f
cmp ecx, 0x4f464e49
je 0x1001bc52
cmp ecx, 0x50534944
je 0x1001bb1f
jmp 0x1001c190
cmp ecx, 0x5453494c
jne 0x1001c190
push dword [esp + 0x44]
or ebx, 0x40
push ecx
push esi
call fcn.100439a0
add esp, 0xc
test eax, eax
jne 0x1001c686
jmp 0x1001b940
cmp ecx, 0x58464952
je 0x1001be9a
cmp ecx, 0x584d505f
je 0x1001bb1f
cmp ecx, 0x61746164
jne 0x1001c190
mov eax, ebx
and eax, 7
cmp al, 7
jne 0x1001c3d9
cmp dword [esi + 0x90c], 0x30
jne 0x1001bcb3
test bl, 0x40
jne 0x1001c350
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 0x1001bcdf
push str._data_chunk_should_be_an_even_number_of_bytes_in_length._n
push esi
call fcn.1000ac80
add esp, 8
push esi
call fcn.1000c2d0
add esp, 4
mov dword [esi + 0x1d6c], edx
mov ebp, eax
mov dword [esi + 0x1d68], ebp
test edx, edx
jl 0x1001be2d
jg 0x1001bd08
test ebp, ebp
je 0x1001be2d
cmp dword [esp + 0x44], 0
mov eax, ebp
mov dword [esp + 0x1c], edx
jne 0x1001bd73
cmp dword [esp + 0x20], 8
mov dword [esp + 0x1c], edx
jne 0x1001bd73
cmp dword [esi + 0x1d54], 0
mov dword [esp + 0x1c], edx
jl 0x1001bd73
jg 0x1001bd38
cmp dword [esi + 0x1d50], 0x2c
jbe 0x1001bd73
push str._Looks_like_a_WAV_file_which_wasnt_closed_properly._Fixing_it._n
push esi
call fcn.1000ac80
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 0x1001bdc5
jg 0x1001bd94
cmp eax, ecx
jbe 0x1001bdc5
push edx
push ecx
push ebp
push eax
push str.data_:__D__should_be__D__n
push esi
call fcn.1000ac80
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 0x1001bdd5
push ebp
push eax
push str.data_:__D_n
push esi
call fcn.1000ac80
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 0x1001be08
jl 0x1001bdfc
cmp eax, dword [esi + 0x1d50]
jae 0x1001be08
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 0x1001be31
mov dword [esp + 0x1c], edi
cmp dword [esi + 0x1d28], 0
je 0x1001b93c
test edx, edx
jl 0x1001b93c
jg 0x1001be50
test ebp, ebp
jb 0x1001b93c
push 1
push dword [edi + 4]
push dword [edi]
push esi
call fcn.1000c210
push esi
call fcn.1000c2d0
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 0x1001be87
cmp edx, edi
je 0x1001b93c
push str._psf_fseek_past_end_error__n
push esi
call fcn.1000ac80
add esp, 8
jmp 0x1001b93c
test ebx, ebx
jne 0x1001c36a
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x20], ebp
lea edx, [ebp + 8]
cmp dword [esi + 0x1d5c], ebx
jl 0x1001bef9
jg 0x1001bebf
cmp dword [esi + 0x1d58], ebx
jbe 0x1001bef9
cmp dword [esi + 0x1d54], 0
jl 0x1001bef9
jg 0x1001bed2
cmp dword [esi + 0x1d50], edx
jbe 0x1001bef9
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 0x1001bf58
mov edi, dword [esi + 0x1d54]
mov eax, dword [esi + 0x1d50]
test edi, edi
jg 0x1001bf43
jl 0x1001bf0f
cmp eax, edx
jae 0x1001bf43
cmp ecx, 0x46464952
mov ecx, str.RIFF_:__u__should_be__D__n
je 0x1001bf21
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.1000ac80
mov ebp, dword [esi + 0x1d50]
add esp, 0x14
sub ebp, 8
mov dword [esp + 0x20], ebp
jmp 0x1001bf61
push ebp
cmp ecx, 0x46464952
jne 0x1001bf53
push str.RIFF_:__u_n
jmp 0x1001bf58
push str.RIFX_:__u_n
push esi
call fcn.1000ac80
add esp, 0xc
lea eax, [esp + 0x50]
push eax
push 0x10174318
push esi
call fcn.10009230
add esp, 0xc
cmp dword [esp + 0x50], 0x45564157
jne 0x1001c35d
push str.WAVE_n
push esi
or ebx, 3
call fcn.1000ac80
add esp, 8
mov dword [esp + 0x44], 0
jmp 0x1001b93c
cmp ecx, 0x6f6d6c65
ja 0x1001c079
je 0x1001bb1f
cmp ecx, 0x6c706d73
ja 0x1001c050
je 0x1001c024
cmp ecx, 0x666e696d
ja 0x1001c013
je 0x1001bb1f
cmp ecx, 0x64696361
je 0x1001bfe7
cmp ecx, 0x64696d75
je 0x1001bb1f
jmp 0x1001c190
push dword [esp + 0x44]
or ebx, 0x40
push str.acid_:__u_n
push esi
call fcn.1000ac80
push dword [esp + 0x50]
push esi
call fcn.1001b520
add esp, 0x14
test eax, eax
jne 0x1001c686
jmp 0x1001b940
cmp ecx, 0x6677766f
je 0x1001bb1f
jmp 0x1001c190
push dword [esp + 0x44]
or ebx, 0x40
push str.smpl_:__u_n
push esi
call fcn.1000ac80
push dword [esp + 0x50]
push esi
call fcn.1001c720
add esp, 0x14
test eax, eax
jne 0x1001c686
jmp 0x1001b940
cmp ecx, 0x6c76656c
je 0x1001bb1f
cmp ecx, 0x6e414641
je 0x1001bb1f
cmp ecx, 0x6e676572
je 0x1001bb1f
jmp 0x1001c190
cmp ecx, 0x74726163
ja 0x1001c16c
je 0x1001c152
cmp ecx, 0x72387243
ja 0x1001c0b6
je 0x1001bb1f
cmp ecx, 0x704c7953
je 0x1001bb1f
cmp ecx, 0x70736661
je 0x1001bb1f
jmp 0x1001c190
cmp ecx, 0x74636166
jne 0x1001c190
mov eax, ebx
and eax, 3
cmp al, 3
jne 0x1001c377
or ebx, 8
test bl, 4
jne 0x1001c0e5
push str._Should_have_fmt__chunk_before_fact_n
push esi
call fcn.1000ac80
add esp, 8
lea eax, [esp + 0x40]
push eax
push 0x10175240
push esi
call fcn.10009230
mov eax, dword [esp + 0x50]
add esp, 0xc
cmp eax, 4
jbe 0x1001c117
add eax, 0xfffffffc
push eax
push 0x10174358
push esi
call fcn.10009230
mov eax, dword [esp + 0x50]
add esp, 0xc
test eax, eax
je 0x1001c127
push eax
push dword [esp + 0x54]
push str._M_:__u_n
jmp 0x1001c132
push 0
push dword [esp + 0x54]
push str._M_:__u__should_not_be_zero__n
push esi
call fcn.1000ac80
add esp, 0x10
push dword [esp + 0x40]
push str.__frames__:__d_n
push esi
call fcn.1000ac80
add esp, 0xc
jmp 0x1001b940
push dword [esp + 0x44]
push esi
call fcn.100426f0
add esp, 8
test eax, eax
jne 0x1001c686
jmp 0x1001b940
cmp ecx, 0x74736c70
je 0x1001bb1f
cmp ecx, 0x74736e69
je 0x1001bb1f
cmp ecx, 0x74786562
je 0x1001c30f
mov eax, dword [esp + 0x44]
cmp eax, 0xffff0000
jb 0x1001c1cd
push eax
mov ebp, 1
push esi
mov dword [esp + 0x1c], ebp
call fcn.1000c2d0
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.1000ac80
add esp, 0x18
jmp 0x1001b940
mov eax, ecx
and eax, 0xffffff
cmp eax, 0x474154
jne 0x1001c225
push esi
call fcn.1000c2d0
add esp, 4
add eax, 0x78
adc edx, 0
cmp eax, dword [esi + 0x1d50]
jne 0x1001c221
cmp edx, dword [esi + 0x1d54]
jne 0x1001c221
push str._Hit_ID3v1_trailer._Exiting_parser._n
push esi
call fcn.1000ac80
mov ebp, 1
mov dword [esp + 0x4c], 0x80
add esp, 8
mov dword [esp + 0x14], ebp
or ebx, 0x40
jmp 0x1001b940
mov ecx, dword [esp + 0x50]
shr ecx, 0x18
push ecx
call fcn.1000aba0
add esp, 4
test eax, eax
je 0x1001c29f
mov eax, dword [esp + 0x50]
shr eax, 0x10
movzx eax, al
push eax
call fcn.1000aba0
add esp, 4
test eax, eax
je 0x1001c29f
mov eax, dword [esp + 0x50]
shr eax, 8
movzx eax, al
push eax
call fcn.1000aba0
add esp, 4
test eax, eax
je 0x1001c29f
movzx eax, byte [esp + 0x50]
push eax
call fcn.1000aba0
add esp, 4
test eax, eax
je 0x1001c29f
push dword [esp + 0x44]
push dword [esp + 0x54]
push str.__M_:__u__unknown_marker__n
push esi
call fcn.1000ac80
push dword [esp + 0x54]
push 0x10174358
push esi
call fcn.10009230
add esp, 0x1c
jmp 0x1001b940
push esi
call fcn.1000c2d0
add esp, 4
and eax, 3
xor edx, edx
or eax, edx
push esi
je 0x1001c2e2
call fcn.1000c2d0
sub eax, 8
sbb edx, 0
push edx
push eax
push str.__Unknown_chunk_marker_at_position__D._Resynching._n
push esi
call fcn.1000ac80
push 0xfffffffffffffffd
push 0x10174358
push esi
call fcn.10009230
add esp, 0x20
or ebx, 0x40
jmp 0x1001b940
call fcn.1000c2d0
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.1000ac80
mov ebp, 1
add esp, 0x18
mov dword [esp + 0x14], ebp
jmp 0x1001b940
push dword [esp + 0x44]
push esi
call fcn.10042500
add esp, 8
test eax, eax
jne 0x1001c686
jmp 0x1001b940
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.1000ac80
add esp, 8
jmp 0x1001c3c2
push ecx
push eax
push dword [esp + 0x4c]
push str._Chunk_size__u___file_length__D._Exiting_parser._n
push esi
call fcn.1000ac80
add esp, 0x14
jmp 0x1001c3c2
push esi
call fcn.1000c2d0
push edx
push eax
push edx
push eax
push str.Have_0_marker_at_position__D__0x_x_._n
push esi
call fcn.1000ac80
add esp, 0x1c
cmp dword [esi + 0x1d6c], 0
lea ebp, [esi + 0x1d68]
jg 0x1001c3e6
jl 0x1001c3d9
cmp dword [ebp], 0
ja 0x1001c3e6
pop edi
pop esi
pop ebp
mov eax, 0x47
pop ebx
add esp, 0x3c
ret
mov eax, dword [esi + 0x1d1c]
cmp eax, 1
jge 0x1001c3fe
pop edi
pop esi
pop ebp
mov eax, 0x20
pop ebx
add esp, 0x3c
ret
cmp eax, 0x400
jle 0x1001c412
pop edi
pop esi
pop ebp
mov eax, 0x21
pop ebx
add esp, 0x3c
ret
cmp dword [esp + 0x24], 1
mov edi, ebp
je 0x1001c434
test bl, 8
jne 0x1001c434
push str._All_non_PCM_format_files_should_have_a_fact_chunk._n
push esi
call fcn.1000ac80
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.1000c210
add esp, 0x10
cmp dword [esi + 0x1cfc], 0
jne 0x1001c485
lea eax, [esp + 0x50]
push eax
push 0x10175240
push esi
call fcn.10009230
mov eax, dword [esp + 0x5c]
add esp, 0xc
cmp eax, 0x6b707677
je 0x1001c4cb
cmp eax, 0x5367674f
je 0x1001c4cb
lea edi, [esi + 0x1d68]
push 0
push dword [edi + 4]
push dword [edi]
push esi
call fcn.1000c210
mov eax, dword [esi + 0x1d80]
add esp, 0x10
test eax, eax
je 0x1001c4f2
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 0x1001c4d8
jl 0x1001c4c5
cmp ecx, edi
jae 0x1001c4d8
push edx
push eax
push ebp
push ecx
jmp 0x1001c4e1
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.100a0160
mov dword [esi + 0x1d14], edx
mov dword [esi + 0x1d10], eax
mov eax, dword [esp + 0x24]
cmp eax, 0x101
jg 0x1001c621
je case.0x1001c518.7
dec eax
cmp eax, 0x54
ja case.0x1001c518.4
movzx eax, byte [eax + 0x1001c6bc]
jmp dword [eax*4 + 0x1001c690]
mov edx, dword [esp + 0x10]
movzx eax, word [edx + 0x1a]
sub eax, 2
je 0x1001c558
sub eax, 1
je 0x1001c549
sub eax, 1
jne case.0x1001c518.4
mov dword [esi + 0x1d20], 0x10024
jmp 0x1001c65f
mov dword [esi + 0x1d20], 0x10023
jmp 0x1001c65f
mov dword [esi + 0x1d20], 0x10022
jmp 0x1001c65f
mov eax, dword [esi + 0x1d84]
shl eax, 3
push eax
call fcn.1000baa0
add esp, 4
or eax, 0x10000
mov dword [esi + 0x1d20], eax
jmp 0x1001c65b
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 0x1001c65f
mov dword [esi + 0x1d20], 0x10012
jmp 0x1001c593
mov dword [esi + 0x1d20], 0x10020
jmp 0x1001c65b
xor eax, eax
cmp dword [esi + 0x1d84], 8
sete al
add eax, 6
or eax, 0x10000
mov dword [esi + 0x1d20], eax
jmp 0x1001c65b
mov dword [esi + 0x1d20], 0x10030
jmp 0x1001c65b
mov dword [esi + 0x1d20], 0x10082
test bl, 8
je 0x1001c65b
mov eax, dword [esp + 0x40]
cdq
mov dword [esi + 0x1d10], eax
mov dword [esi + 0x1d14], edx
jmp 0x1001c65b
mov dword [esi + 0x1d20], 0x10010
jmp 0x1001c65b
cmp eax, 0x102
je case.0x1001c518.6
cmp eax, 0xfffe
je 0x1001c63c
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 0x1001c65f
jmp 0x1001c597
mov dword [esi + 0x1d20], 0x10011
mov edx, dword [esp + 0x10]
cmp dword [edx + 8], 0
je 0x1001c66e
push esi
call fcn.100422a0
add esp, 4
cmp dword [esi + 0x1ce8], 0x20000000
jne 0x1001c684
or dword [esi + 0x1d20], 0x20000000
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret