Function at 0x415b00
Capabilities:
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xec
mov edx, dword [esp + 0x100]
mov esi, dword [esp + 0x100]
mov eax, dword [edx + 0x1c]
add esi, 0x1c
mov ebx, dword [eax]
test ebx, ebx
je 0x415beb
xor edi, edi
lea ebp, [esp + 0x68]
cmp byte [ebx + 4], 0
je 0x415c3d
lea ecx, [ebx + 4]
mov dword [esp + 0x18], ecx
mov eax, ecx
movzx edx, byte [eax]
test dl, dl
je 0x415b70
sub edx, 0x20
cmp dl, 0x5e
ja 0x415b55
add eax, 1
jmp 0x415b41
mov dword [esp + 4], edi
mov edx, dword [esi]
mov dword [esp + 0x10], eax
mov dword [esp], edx
call fcn.0041df20
mov eax, dword [esp + 0x10]
cmp byte [eax], 0
jne 0x415bd7
mov ecx, dword [esp + 0x18]
mov dword [esp + 8], pe_nt_image_headers32
mov dword [esp], ebp
mov dword [esp + 4], ecx
call fcn.00420d80
cmp dword [0x44cd84], 0
je 0x415ba5
mov dword [esp + 4], ebp
mov dword [esp], ebp
call fcn.0041ae00
test eax, eax
je 0x415c3d
xor eax, eax
or ecx, 0xffffffff
mov edi, ebp
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x18]
not ecx
lea edx, [ecx - 1]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov edi, ebx
not ecx
sub ecx, 1
cmp edx, ecx
ja 0x415bd7
mov edx, dword [esp + 0x18]
mov dword [esp + 4], ebp
mov dword [esp], edx
call sub.cygwin1.dll_strcpy
mov ebx, dword [ebx]
test ebx, ebx
jne 0x415b2e
mov ebx, dword [esp + 0x100]
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + 8]
mov edx, str.__exiting...
test eax, eax
je 0x415c05
cmp eax, 1
je 0x415d4b
mov edx, 0x431309
mov ecx, 0x431317
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], str.Loaded__d_plaintext_s_s_n
call sub.cygwin1.dll_printf
mov esi, dword [esp + 0x100]
mov ebp, dword [esi + 0x1c]
cmp dword [ebp + 8], 0
jne 0x415c4d
add esp, 0xec
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], edi
mov eax, dword [esi]
mov dword [esp], eax
call fcn.0041df20
jmp 0x415bd7
mov dword [esp], 0x44b800
call fcn.0041a410
mov ecx, dword [esi + 0x1c]
mov esi, dword [ecx]
mov dword [esp], 0x2854
mov dword [esp + 0x48], esi
call fcn.00420870
mov dword [esp + 8], 0x2854
mov dword [esp + 4], 0
mov dword [esp + 0x24], eax
mov dword [esp], eax
call sub.cygwin1.dll_memset
mov dword [esp], 0x357000
call fcn.00420870
mov dword [esp + 8], 0x357000
mov dword [esp + 4], 0
mov dword [esp + 0x20], eax
mov dword [esp], eax
call sub.cygwin1.dll_memset
mov dword [esp], 0x5f00
call fcn.00420870
mov edi, dword [esp + 0x104]
mov dword [esp], edi
mov dword [esp + 0x44], eax
call fcn.00421620
mov dword [esp + 4], 0x431332
mov dword [esp], eax
call sub.cygwin1.dll__fopen64
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x415d01
mov dword [esp], edi
call fcn.00421620
mov dword [esp], 0x431335
mov dword [esp + 4], eax
call fcn.00420a70
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
call fcn.004157b0
mov dword [esp], str.Generating_charsets...
call sub.cygwin1.dll_printf
call sub.cygwin1.dll___getreent
mov edi, dword [eax + 8]
mov dword [esp], edi
call sub.cygwin1.dll_fflush
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x20]
lea edx, [eax + 4]
movzx ecx, byte [edx]
test cl, cl
je 0x415d57
sub ecx, 0x20
add edx, 1
movzx ebp, cl
add dword [ebx + ebp*4], 1
jmp 0x415d35
mov edx, 0x431309
mov ecx, edx
jmp 0x415c0a
mov eax, dword [eax]
test eax, eax
jne 0x415d32
mov edx, dword [esp + 0x20]
xor esi, esi
xor ebx, ebx
mov ecx, dword [edx]
xor eax, eax
mov edi, dword [edx + 4]
test ecx, ecx
cmovne eax, ecx
mov ecx, 0
cmovne ebx, ecx
cmp edi, eax
mov cl, 1
jbe 0x415d86
mov eax, edi
mov ebx, 1
lea edi, [ecx + 1]
mov ebp, dword [edx + edi*4]
cmp ebp, eax
jbe 0x415d94
mov eax, ebp
mov ebx, edi
lea edi, [ecx + 2]
mov ebp, dword [edx + edi*4]
cmp ebp, eax
jbe 0x415da2
mov eax, ebp
mov ebx, edi
lea edi, [ecx + 3]
mov ebp, dword [edx + edi*4]
cmp ebp, eax
jbe 0x415db0
mov eax, ebp
mov ebx, edi
add ecx, 4
mov edi, dword [edx + ecx*4]
cmp edi, eax
jbe 0x415dbe
mov eax, edi
mov ebx, ecx
add ecx, 1
mov edi, dword [edx + ecx*4]
cmp edi, eax
jbe 0x415dcc
mov eax, edi
mov ebx, ecx
lea edi, [ecx + 1]
mov ebp, dword [edx + edi*4]
cmp ebp, eax
jbe 0x415dda
mov eax, ebp
mov ebx, edi
lea edi, [ecx + 2]
mov ebp, dword [edx + edi*4]
cmp ebp, eax
jbe 0x415de8
mov eax, ebp
mov ebx, edi
lea edi, [ecx + 3]
mov ebp, dword [edx + edi*4]
cmp ebp, eax
jbe 0x415df6
mov eax, ebp
mov ebx, edi
lea edi, [ecx + 4]
mov ebp, dword [edx + edi*4]
cmp ebp, eax
jbe 0x415e04
mov eax, ebp
mov ebx, edi
lea edi, [ecx + 5]
mov ebp, dword [edx + edi*4]
cmp ebp, eax
jbe 0x415e12
mov eax, ebp
mov ebx, edi
lea edi, [ecx + 6]
mov ebp, dword [edx + edi*4]
cmp ebp, eax
jbe 0x415e20
mov eax, ebp
mov ebx, edi
lea edi, [ecx + 7]
mov ebp, dword [edx + edi*4]
cmp ebp, eax
jbe 0x415e2e
mov eax, ebp
mov ebx, edi
add ecx, 8
cmp ecx, 0x5f
jne 0x415db3
test eax, eax
je 0x415e54
lea eax, [ebx + 0x20]
mov dword [edx + ebx*4], 0
mov byte [esp + esi + 0x68], al
add esi, 1
jmp 0x415d65
mov eax, dword [esp + 0x24]
mov ecx, esi
lea edi, [esp + 0x68]
mov byte [eax + 0x1f], cl
mov ebp, dword [esp + 0x1c]
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], edi
mov dword [esp + 0xc], ebp
call sub.cygwin1.dll_fwrite
lea edx, [esp + 0x68]
mov dword [esp + 8], esi
mov dword [esp + 4], edx
mov dword [esp], 0x44b800
call fcn.0041a710
mov dword [esp + 0x40], 0
mov edi, dword [esp + 0x40]
mov dword [esp], 0x431357
add edi, 1
mov dword [esp + 0x38], edi
mov dword [esp + 4], edi
call sub.cygwin1.dll_printf
call sub.cygwin1.dll___getreent
mov esi, dword [eax + 8]
mov dword [esp], esi
call sub.cygwin1.dll_fflush
mov ecx, dword [esp + 0x1c]
mov dword [esp], ecx
call sub.cygwin1.dll_ftell
test eax, eax
mov esi, eax
jns 0x415ee6
mov dword [esp], 0x43135b
call fcn.00420a70
mov ebp, dword [esp + 0x38]
mov eax, esi
mov edx, esi
mov ecx, dword [esp + 0x24]
sar eax, 8
mov byte [ecx + ebp*4 + 0x1c], dl
mov edx, esi
mov byte [ecx + ebp*4 + 0x1d], al
mov eax, esi
sar edx, 0x10
sar eax, 0x18
mov byte [ecx + ebp*4 + 0x1e], dl
mov byte [ecx + ebp*4 + 0x1f], al
imul edx, dword [esp + 0x40], 0xbe0
mov dword [esp + 0x28], 0
mov dword [esp + 0x58], edx
mov eax, dword [0x44de84]
test eax, eax
jne 0x4161cf
mov edx, dword [esp + 0x1c]
call fcn.00415760
mov edx, dword [esp + 0x1c]
mov eax, 1
call fcn.00415760
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
call fcn.00415760
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
call fcn.00415760
mov edx, dword [esp + 0x20]
mov dword [esp + 8], 0x357000
mov dword [esp + 4], 0
mov dword [esp], edx
call sub.cygwin1.dll_memset
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x48]
sub esi, 1
mov dword [esp + 0x14], esi
mov esi, ebx
lea ebx, [edx + 4]
or ecx, 0xffffffff
xor eax, eax
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
sub ecx, 1
cmp ecx, dword [esp + 0x38]
je 0x416320
mov edx, dword [edx]
test edx, edx
jne 0x415f8e
cmp dword [esp + 0x28], 2
mov ebp, 0x5f
mov ebx, esi
cmovl edx, ebp
imul esi, dword [esp + 0x28], 0x17c
add esi, dword [esp + 0x58]
add esi, dword [esp + 0x44]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x54], esi
cmp dword [esp + 0x28], 1
sbb ecx, ecx
imul eax, dword [esp + 0x3c], 0x8e80
and ecx, 0x5f
imul edx, dword [esp + 0x3c], 0x23a0
mov dword [esp + 0x34], ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
cmp dword [esp + 0x3c], 0x5f
mov edi, dword [esp + 0x54]
mov dword [esp + 0x14], 0
sete dl
cmp dword [esp + 0x34], 0x5f
mov dword [esp + 0x18], edi
sete byte [esp + 0x2c]
imul esi, dword [esp + 0x34], 0x5f
imul edi, dword [esp + 0x34], 0x17c
add esi, dword [esp + 0x50]
and byte [esp + 0x2c], dl
add edi, dword [esp + 0x4c]
add edi, dword [esp + 0x20]
mov dword [esp + 0x30], esi
nop
mov esi, dword [edi]
xor eax, eax
mov edx, 0
mov ecx, dword [edi + 4]
test esi, esi
cmovne eax, esi
cmovne ebx, edx
cmp ecx, eax
mov dl, 1
lea esi, [edi + 4]
jbe 0x416064
mov eax, ecx
mov ebx, 1
mov ecx, dword [esi + 4]
lea ebp, [edx + 1]
cmp ecx, eax
jbe 0x416072
mov eax, ecx
mov ebx, ebp
mov ecx, dword [esi + 8]
lea ebp, [edx + 2]
cmp ecx, eax
jbe 0x416080
mov eax, ecx
mov ebx, ebp
mov ecx, dword [esi + 0xc]
lea ebp, [edx + 3]
cmp ecx, eax
jbe 0x41608e
mov eax, ecx
mov ebx, ebp
add edx, 4
add esi, 0x10
mov ecx, dword [esi]
cmp ecx, eax
jbe 0x41609e
mov eax, ecx
mov ebx, edx
lea ecx, [esi + 4]
mov esi, dword [esi + 4]
add edx, 1
cmp esi, eax
jbe 0x4160af
mov eax, esi
mov ebx, edx
mov esi, dword [ecx + 4]
lea ebp, [edx + 1]
cmp esi, eax
jbe 0x4160bd
mov eax, esi
mov ebx, ebp
mov esi, dword [ecx + 8]
lea ebp, [edx + 2]
cmp esi, eax
jbe 0x4160cb
mov eax, esi
mov ebx, ebp
mov esi, dword [ecx + 0xc]
lea ebp, [edx + 3]
cmp esi, eax
jbe 0x4160d9
mov eax, esi
mov ebx, ebp
mov esi, dword [ecx + 0x10]
lea ebp, [edx + 4]
cmp esi, eax
jbe 0x4160e7
mov eax, esi
mov ebx, ebp
mov esi, dword [ecx + 0x14]
lea ebp, [edx + 5]
cmp esi, eax
jbe 0x4160f5
mov eax, esi
mov ebx, ebp
mov esi, dword [ecx + 0x18]
lea ebp, [edx + 6]
cmp esi, eax
jbe 0x416103
mov eax, esi
mov ebx, ebp
mov esi, dword [ecx + 0x1c]
lea ebp, [edx + 7]
cmp esi, eax
jbe 0x416111
mov eax, esi
mov ebx, ebp
add edx, 8
cmp edx, 0x5f
lea esi, [ecx + 0x20]
jne 0x416094
cmp byte [esp + 0x2c], 0
je 0x41612e
mov ebp, dword [esp + 0x18]
mov dword [ebp], eax
add dword [esp + 0x18], 4
test eax, eax
je 0x41615f
mov ecx, dword [esp + 0x30]
lea eax, [ebx + 0x20]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
add ecx, ebx
mov dword [esi + ecx*4], 0
mov byte [esp + edx + 0x68], al
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x416040
cmp dword [esp + 0x14], 0
jne 0x4163bd
add dword [esp + 0x34], 1
cmp dword [esp + 0x34], 0x60
jne 0x415ffc
add dword [esp + 0x3c], 1
cmp dword [esp + 0x3c], 0x60
jne 0x415fd6
add dword [esp + 0x28], 1
mov ebp, dword [esp + 0x40]
cmp dword [esp + 0x28], ebp
jle 0x415f23
cmp dword [esp + 0x38], 8
jne 0x416685
mov edx, dword [esp + 0x1c]
xor eax, eax
call fcn.00415760
mov edx, dword [esp + 0x1c]
mov eax, 1
call fcn.00415760
mov edx, dword [esp + 0x1c]
mov eax, 8
call fcn.00415760
mov ebx, dword [0x44de84]
test ebx, ebx
je 0x416218
mov ebp, dword [esp + 0x1c]
mov dword [esp], ebp
call sub.cygwin1.dll_fclose
mov edi, dword [esp + 0x104]
mov dword [esp], edi
call sub.cygwin1.dll_unlink
call sub.cygwin1.dll___getreent
mov esi, dword [eax + 8]
mov dword [esp], 0xa
mov dword [esp + 4], esi
call sub.cygwin1.dll_putc
mov dword [esp], 0
call fcn.004254c0
mov dword [esp], str.DONE_nGenerating_cracking_order...
call sub.cygwin1.dll_printf
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 8]
mov dword [esp], eax
call sub.cygwin1.dll_fflush
mov ecx, dword [esp + 0x24]
mov dword [esp], 0xbe00
add ecx, 0x40
mov dword [esp + 0x2c], ecx
call fcn.00420870
mov edx, 1
fld1
lea esi, [edx - 1]
xor ebx, ebx
imul ecx, esi, 0x2f8
mov dword [esp + 0x18], esi
mov dword [esp + 0x28], ecx
lea ecx, [ebx + 1]
mov esi, edx
mov dword [esp + 0x5c], ecx
fild dword [esp + 0x5c]
fld st(1)
jmp 0x41627c
fxch st(1)
fmul st(0)
fxch st(1)
test esi, 1
je 0x416286
fmul st(1)
shr esi, 1
jne 0x416276
fstp st(1)
mov dword [esp + 0x5c], ebx
mov esi, edx
fild dword [esp + 0x5c]
fld1
jmp 0x4162a0
fxch st(1)
fmul st(0)
fxch st(1)
test esi, 1
je 0x4162aa
fmul st(1)
shr esi, 1
jne 0x41629a
fstp st(1)
cmp ecx, 1
fsubp st(1)
je 0x4162c1
mov dword [esp + 0x5c], edx
fild dword [esp + 0x5c]
fdivp st(1)
mov esi, dword [esp + 0x44]
add ebx, dword [esp + 0x28]
mov dword [esp + 0x14], 0
lea esi, [esi + ebx*4]
lea ebx, [eax + ebx*8]
mov edi, dword [esi]
fld st(0)
test edi, edi
je 0x4162f1
fstp st(0)
xor ebp, ebp
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], ebp
fild qword [esp + 0x60]
fdivr st(1)
fstp qword [ebx]
add esi, 0x17c
add dword [esp + 0x14], 1
add ebx, 0x2f8
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x18], edi
jge 0x4162d7
fstp st(0)
cmp ecx, 0x5f
je 0x416435
mov ebx, ecx
jmp 0x416265
mov eax, dword [esp + 0x28]
lea eax, [ebx + eax]
movzx ecx, byte [eax]
sub ecx, 0x20
movzx ebp, cl
mov ecx, dword [esp + 0x20]
add dword [ecx + ebp*4 + 0x356e84], 1
cmp dword [esp + 0x28], 0
je 0x415fa9
mov ecx, dword [esp + 0x14]
movzx ebp, byte [eax]
lea ecx, [ebx + ecx]
movzx edi, byte [ecx]
sub ebp, 0x20
and ebp, 0xff
sub edi, 0x20
and edi, 0xff
imul edi, edi, 0x5f
lea edi, [ebp + edi + 0xd3860]
mov ebp, dword [esp + 0x20]
add dword [ebp + edi*4], 1
cmp dword [esp + 0x28], 1
je 0x415fa9
mov edi, dword [esp + 0x28]
movzx ecx, byte [ecx]
movzx eax, byte [eax]
movzx ebx, byte [ebx + edi - 2]
sub ecx, 0x20
movzx edi, cl
sub eax, 0x20
imul edi, edi, 0x5f
movzx eax, al
sub ebx, 0x20
movzx ebx, bl
imul ecx, ebx, 0x23a0
add edi, ecx
lea ebx, [edi + eax]
add dword [ebp + ebx*4], 1
jmp 0x415fa9
mov edx, dword [esp + 0x1c]
xor eax, eax
lea edi, [esp + 0x68]
call fcn.00415760
mov edx, dword [esp + 0x1c]
mov eax, 2
call fcn.00415760
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
call fcn.00415760
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
call fcn.00415760
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x68]
mov eax, dword [esp + 0x14]
mov dword [esp + 4], 1
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
call sub.cygwin1.dll_fwrite
mov ebp, dword [esp + 0x14]
mov dword [esp + 4], edi
mov dword [esp], 0x44b800
mov dword [esp + 8], ebp
call fcn.0041a710
jmp 0x41616a
add edx, 1
cmp edx, 9
jne 0x416252
fstp st(0)
mov edx, dword [esp + 0x2c]
xor ebp, ebp
mov dword [esp + 0x18], 0
fldz
mov dword [esp + 0x14], 0
add edx, 0x2814
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x2c]
fld st(0)
xor ecx, ecx
xor edi, edi
fldz
imul esi, ecx, 0x2f8
xor ebx, ebx
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x34]
mov dword [esp + 0x38], eax
add esi, ebx
lea esi, [eax + esi*8]
mov dword [esp + 0x28], esi
xor esi, esi
mov eax, dword [esp + 0x28]
fld qword [eax]
fucomi st(1)
jb 0x4164c1
test edi, edi
je 0x4164aa
fxch st(2)
fucomi st(2)
jbe 0x4164c5
fstp st(0)
fxch st(1)
jmp 0x4164ae
fstp st(2)
fxch st(1)
fxch st(1)
mov ebp, ebx
mov dword [esp + 0x18], esi
mov edi, 1
mov dword [esp + 0x14], ecx
jmp 0x4164c7
fstp st(0)
jmp 0x4164c7
fstp st(2)
add esi, 1
add dword [esp + 0x28], 0x2f8
cmp esi, ecx
jle 0x416490
add ebx, 1
mov eax, dword [esp + 0x38]
cmp ebx, 0x5f
jne 0x41647d
add ecx, 1
cmp ecx, 8
jne 0x416471
fstp st(0)
fstp st(0)
test edi, edi
je 0x41653e
imul ecx, dword [esp + 0x18], 0x5f
imul edi, dword [esp + 0x14], 0x2f8
fld1
fchs
lea ebx, [ecx + edi]
add ebx, ebp
cmp edx, dword [esp + 0x30]
fstp qword [eax + ebx*8]
je 0x416692
movzx ebx, byte [esp + 0x14]
mov byte [edx], bl
movzx ecx, byte [esp + 0x18]
mov ebx, ebp
mov byte [edx + 2], bl
mov byte [edx + 1], cl
mov esi, dword [0x44de84]
add edx, 3
test esi, esi
je 0x416469
fstp st(0)
jmp 0x416540
fstp st(0)
mov ebp, dword [0x44de84]
test ebp, ebp
jne 0x416554
cmp edx, dword [esp + 0x30]
jne 0x4167e6
test eax, eax
je 0x416560
mov dword [esp], eax
call sub.cygwin1.dll_free
mov edx, dword [0x44de84]
test edx, edx
je 0x4165a9
mov esi, dword [esp + 0x1c]
mov dword [esp], esi
call sub.cygwin1.dll_fclose
mov edi, dword [esp + 0x104]
mov dword [esp], edi
call sub.cygwin1.dll_unlink
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 8]
mov dword [esp], 0xa
mov dword [esp + 4], eax
call sub.cygwin1.dll_putc
mov dword [esp], 0
call fcn.004254c0
mov dword [esp], str.DONE
call sub.cygwin1.dll_puts
mov ebp, dword [esp + 0x1c]
mov dword [esp], ebp
call sub.cygwin1.dll_fflush
test byte [ebp + 0xc], 0x40
je 0x4166b8
cmp dword [esp + 0x44], 0
je 0x4165de
mov ebp, dword [esp + 0x44]
mov dword [esp], ebp
call sub.cygwin1.dll_free
cmp dword [esp + 0x20], 0
je 0x4165f1
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov edi, dword [esp + 0x1c]
movzx ebx, word [edi + 0xc]
mov dword [esp], edi
call sub.cygwin1.dll_fclose
test eax, eax
jne 0x41660a
and bl, 0x40
je 0x41663a
mov ebx, dword [esp + 0x104]
mov dword [esp], ebx
call sub.cygwin1.dll_unlink
call sub.cygwin1.dll___getreent
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Failed_to_write_charset_file:__s_n
mov esi, dword [eax + 0xc]
mov dword [esp], esi
call sub.cygwin1.dll_fprintf
call fcn.00420a50
mov esi, dword [esp + 0x24]
mov edi, 0x431309
mov eax, 0x431317
mov edx, dword [esp + 0x104]
movzx ebx, byte [esi + 0x1f]
mov dword [esp + 4], edx
mov dword [esp], str.Successfully_written_charset_file:__s___d_character_s__n
cmp bl, 1
movzx ebp, bl
cmove eax, edi
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebp
call sub.cygwin1.dll_printf
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
call sub.cygwin1.dll_free
jmp 0x415c32
mov eax, dword [esp + 0x38]
mov dword [esp + 0x40], eax
jmp 0x415e9d
fstp st(0)
mov dword [esp + 0xc], str.ptr___order__size___3
mov dword [esp + 8], str.charset_generate_order
mov dword [esp + 4], 0x156
mov dword [esp], str.charset.c
call sub.cygwin1.dll___assert_func
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ebp
call sub.cygwin1.dll_fseek
test eax, eax
jne 0x4165cb
mov edx, dword [esp + 0x24]
mov dword [edx], 0x32524843
mov byte [edx + 0x1c], 0x20
mov byte [edx + 0x1d], 0x7e
mov byte [edx + 0x1e], 8
mov dword [esp + 4], edx
mov dword [esp + 8], 4
mov dword [esp], 0x44b800
call fcn.0041a710
mov ebx, dword [esp + 0x24]
mov dword [esp + 8], 1
mov dword [esp], 0x44b800
add ebx, 0x1c
mov dword [esp + 4], ebx
call fcn.0041a710
mov ecx, dword [esp + 0x24]
mov dword [esp + 8], 1
mov dword [esp], 0x44b800
add ecx, 0x1d
mov dword [esp + 4], ecx
call fcn.0041a710
mov esi, dword [esp + 0x24]
mov dword [esp + 8], 1
mov dword [esp], 0x44b800
add esi, 0x1e
mov dword [esp + 4], esi
call fcn.0041a710
mov edi, dword [esp + 0x24]
mov dword [esp + 8], 1
mov dword [esp], 0x44b800
add edi, 0x1f
mov dword [esp + 4], edi
call fcn.0041a710
mov eax, dword [esp + 0x24]
mov dword [esp + 8], 0x20
mov dword [esp], 0x44b800
add eax, 0x20
mov dword [esp + 4], eax
call fcn.0041a710
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], 0x2814
mov dword [esp], 0x44b800
mov dword [esp + 4], edx
call fcn.0041a710
mov ecx, dword [esp + 0x24]
mov ebx, dword [0x44b800]
add ecx, 4
mov dword [esp + 4], ebx
mov dword [esp], ecx
call fcn.0041a920
mov edx, dword [esp + 0x24]
mov eax, ebp
call fcn.004157b0
jmp 0x4165cb
mov dword [esp + 0xc], str.event_abort__ptr__order__size
mov dword [esp + 8], str.charset_generate_order
mov dword [esp + 4], 0x15c
mov dword [esp], str.charset.c
call sub.cygwin1.dll___assert_func
nop
nop
nop
nop
nop
nop