Function at 0x425bf0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
push ebx
xor eax, eax
push esi
or ecx, 0xffffffff
push edi
push str.TZUTC
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], eax
call fcn.00446abe
mov ebx, dword [ebp + 8]
add esp, 4
cmp ebx, 1
jne 0x425dd8
push str.8.94
push str._nRaw_photo_decoder__dcraw__v_s
call fcn.004350ec
push str._nby_Dave_Coffin__dcoffin_a_cybercom_o_net_n
call fcn.004350ec
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
push str._nUsage:___s__OPTION_...__FILE_..._n_n
call fcn.004350ec
push str._v________Print_verbose_messages
call fcn.00435d8e
push str._c________Write_image_data_to_standard_output
call fcn.00435d8e
push str._e________Extract_embedded_thumbnail_image
call fcn.00435d8e
push str._i________Identify_files_without_decoding_them
call fcn.00435d8e
push str._i__v_____Identify_files_and_show_metadata
call fcn.00435d8e
push str._z________Change_file_dates_to_camera_timestamp
call fcn.00435d8e
push str._w________Use_camera_white_balance__if_possible
call fcn.00435d8e
push str._a________Average_the_whole_image_for_white_balance
call fcn.00435d8e
push str._A__x_y_w_h__Average_a_grey_box_for_white_balance
call fcn.00435d8e
push str._r__r_g_b_g__Set_custom_white_balance
call fcn.00435d8e
push str.M__M_____Use_dont_use_an_embedded_color_matrix
call fcn.00435d8e
add esp, 0x40
push str._C__r_b___Correct_chromatic_aberration
call fcn.00435d8e
push str._P__file__Fix_the_dead_pixels_listed_in_this_file
call fcn.00435d8e
push str._K__file__Subtract_dark_frame__16_bit_raw_PGM_
call fcn.00435d8e
push str._k__num___Set_the_darkness_level
call fcn.00435d8e
push str._S__num___Set_the_saturation_level
call fcn.00435d8e
push str._n__num___Set_threshold_for_wavelet_denoising
call fcn.00435d8e
push str._H__0_9___Highlight_mode__0clip__1unclip__2blend__3rebuild_
call fcn.00435d8e
push str._t__0_7___Flip_image__0none__3180__590CCW__690CW_
call fcn.00435d8e
push str._o__0_5___Output_colorspace__raw_sRGB_Adobe_Wide_ProPhoto_XYZ_
call fcn.00435d8e
push str._d________Document_mode__no_color__no_interpolation_
call fcn.00435d8e
push str._D________Document_mode_without_scaling__totally_raw_
call fcn.00435d8e
push str._j________Dont_stretch_or_rotate_raw_pixels
call fcn.00435d8e
push str._W________Dont_automatically_brighten_the_image
call fcn.00435d8e
push str._b__num___Adjust_brightness__default__1.0_
call fcn.00435d8e
push str._g__p_ts__Set_custom_gamma_curve__default__2.222_4.5_
call fcn.00435d8e
push str._q__0_3___Set_the_interpolation_quality
call fcn.00435d8e
add esp, 0x40
push str._h________Half_size_color_image__twice_as_fast_as___q_0__
call fcn.00435d8e
push str._f________Interpolate_RGGB_as_four_colors
call fcn.00435d8e
push str._m__num___Apply_a_3x3_median_filter_to_R_G_and_B_G
call fcn.00435d8e
push str._s__0..N_1__Select_one_raw_image_or__all__from_each_file
call fcn.00435d8e
push str._6________Write_16_bit_instead_of_8_bit
call fcn.00435d8e
push str._4________Linear_16_bit__same_as___6__W__g_1_1_
call fcn.00435d8e
push str._T________Write_TIFF_instead_of_PPM
call fcn.00435d8e
push 0x464ace
call fcn.00435d8e
add esp, 0x20
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0xc]
mov dword [edi + ebx*4], 0x464acf
mov edx, dword [edi + 4]
mov al, byte [edx]
mov byte [ebp - 1], al
movsx eax, al
sub eax, 2
or eax, 2
mov esi, 1
mov dword [ebp - 8], esi
cmp eax, 0x2b
jne 0x4261e9
mov ecx, dword [edi + esi*4]
mov bl, byte [ecx + 1]
movsx eax, bl
push eax
inc esi
push str.nbrkStqmHACg
mov byte [ebp - 3], bl
mov dword [ebp - 8], esi
mov dword [ebp - 0x44], eax
call fcn.00434c60
add esp, 8
test eax, eax
je 0x425e7e
sub eax, str.nbrkStqmHACg
movsx edx, byte [eax + str.114111111422]
lea eax, [eax + str.114111111422]
sub edx, 0x30
xor ebx, ebx
mov dword [ebp - 0x40], eax
test edx, edx
jle 0x425e7b
lea eax, [edi + esi*4]
mov dword [ebp - 0x14], eax
lea ecx, [ecx]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx]
movsx eax, byte [edx]
push eax
call fcn.004346ec
add esp, 4
test eax, eax
je 0x426224
mov ecx, dword [ebp - 0x40]
movsx edx, byte [ecx]
add dword [ebp - 0x14], 4
inc ebx
sub edx, 0x30
cmp ebx, edx
jl 0x425e50
mov bl, byte [ebp - 3]
mov eax, dword [ebp - 0x44]
add eax, 0xffffffcc
cmp eax, 0x46
ja case.0x425e94.53
movzx eax, byte [eax + 0x427054]
jmp dword [eax*4 + 0x426fd0]
mov eax, dword [edi + esi*4]
push eax
call fcn.004360a7
fstp dword [0x464a88]
add esp, 4
inc esi
mov dword [ebp - 8], esi
jmp 0x4261cc
mov eax, dword [edi + esi*4]
push eax
call fcn.004360a7
fstp dword [0x45a6d0]
add esp, 4
inc esi
mov dword [ebp - 8], esi
jmp 0x4261cc
mov ebx, 0x464a78
mov eax, dword [edi + esi*4]
push eax
call fcn.004360a7
fstp dword [ebx]
add ebx, 4
add esp, 4
inc esi
cmp ebx, 0x464a88
jl 0x425ed6
mov dword [ebp - 8], esi
jmp 0x4261cc
mov eax, dword [edi + esi*4]
push eax
call fcn.004360a7
fld1
fdivrp st(1)
inc esi
fstp qword [0x45a680]
mov eax, dword [edi + esi*4]
push eax
call fcn.004360a7
fld1
fdivrp st(1)
add esp, 8
inc esi
mov dword [ebp - 8], esi
fstp qword [0x45a690]
jmp 0x4261cc
mov eax, dword [edi + esi*4]
push eax
call fcn.004360a7
fstp qword [0x45a6a0]
mov eax, dword [edi + esi*4 + 4]
inc esi
push eax
call fcn.004360a7
fstp qword [0x45a6a8]
fldz
inc esi
fld qword [0x45a6a0]
add esp, 8
fucom st(1)
mov dword [ebp - 8], esi
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x4261ca
fld1
fdivrp st(1)
fstp qword [0x45a6a0]
jmp 0x4261cc
mov eax, dword [edi + esi*4]
push eax
call fcn.00434d34
add esp, 4
inc esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 8], esi
jmp 0x4261cc
mov eax, dword [edi + esi*4]
push eax
call fcn.00434d34
add esp, 4
inc esi
mov dword [ebp - 0x3c], eax
mov dword [ebp - 8], esi
jmp 0x4261cc
mov eax, dword [edi + esi*4]
push eax
call fcn.00434d34
add esp, 4
inc esi
mov dword [ebp - 0x24], eax
mov dword [ebp - 8], esi
jmp 0x4261cc
mov eax, dword [edi + esi*4]
push eax
call fcn.00434d34
add esp, 4
inc esi
mov dword [ebp - 0x34], eax
mov dword [ebp - 8], esi
jmp 0x4261cc
mov eax, dword [edi + esi*4]
push eax
call fcn.00434d34
add esp, 4
inc esi
mov dword [0x464aac], eax
mov dword [ebp - 8], esi
jmp 0x4261cc
mov eax, dword [edi + esi*4]
push eax
call fcn.00434d34
add esp, 4
inc esi
mov dword [0x464a98], eax
mov dword [ebp - 8], esi
jmp 0x4261cc
mov ecx, dword [edi + esi*4]
push ecx
call fcn.00434d34
cdq
xor eax, edx
sub eax, edx
mov dword [0x464a70], eax
mov eax, dword [edi + esi*4]
add esp, 4
inc esi
mov dword [ebp - 8], esi
mov ecx, 0x45d5d8
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x426060
test dl, dl
je 0x42604c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x426060
add eax, 2
add ecx, 2
test dl, dl
jne 0x426030
xor edx, edx
xor eax, eax
test eax, eax
sete dl
mov dword [0x464a74], edx
jmp 0x4261cc
sbb eax, eax
sbb eax, 0xffffffff
xor edx, edx
test eax, eax
sete dl
mov dword [0x464a74], edx
jmp 0x4261cc
mov eax, dword [edi + esi*4]
movsx ecx, byte [eax]
push ecx
call fcn.004346ec
add esp, 4
test eax, eax
je 0x4261cc
mov eax, dword [edi + esi*4]
cmp byte [eax + 1], 0
jne 0x4261cc
push eax
call fcn.00434d34
add esp, 4
inc esi
mov dword [0x45a6d8], eax
mov dword [ebp - 8], esi
jmp 0x4261cc
mov edx, dword [edi + esi*4]
inc esi
mov dword [ebp - 0x2c], edx
mov dword [ebp - 8], esi
jmp 0x4261cc
mov eax, dword [edi + esi*4]
inc esi
mov dword [ebp - 0x30], eax
mov dword [ebp - 8], esi
jmp 0x4261cc
mov dword [ebp - 0x28], 1
jmp 0x4261cc
mov dword [ebp - 0x20], 1
jmp 0x4261cc
mov dword [ebp - 0x10], 1
jmp 0x4261cc
mov dword [ebp - 0x1c], 1
jmp 0x4261cc
mov dword [0x464a9c], 1
jmp 0x4261cc
mov dword [0x464a8c], 1
mov dword [0x464a90], 1
jmp 0x4261cc
mov ebx, 0x45a6e0
lea ecx, [ecx]
mov eax, dword [edi + esi*4]
push eax
call fcn.00434d34
mov dword [ebx], eax
add ebx, 4
add esp, 4
inc esi
cmp ebx, str._s:_Out_of_memory_in__s_n
jl 0x426130
mov dword [ebp - 8], esi
mov dword [0x464aa0], 1
jmp 0x4261cc
mov dword [0x464aa4], 1
jmp 0x4261cc
xor ecx, ecx
cmp byte [ebp - 1], 0x2b
sete cl
mov dword [0x45a6d4], ecx
jmp 0x4261cc
xor edx, edx
cmp bl, 0x44
sete dl
inc edx
mov dword [0x464a94], edx
mov dword [ebp - 0x18], 0
jmp 0x4261cc
mov dword [0x464ab0], 1
jmp 0x4261cc
mov dword [0x464aa8], 1
jmp 0x4261cc
fld1
mov dword [0x464ab0], 1
fst qword [0x45a6a8]
fstp qword [0x45a6a0]
mov dword [0x45a6dc], 0x10
jmp 0x4261cc
fstp st(0)
mov eax, dword [edi + esi*4]
mov al, byte [eax]
movsx ecx, al
sub ecx, 2
or ecx, 2
mov byte [ebp - 1], al
cmp ecx, 0x2b
je 0x425e04
mov ebx, dword [ebp + 8]
cmp dword [0x45a6d4], 0
jge 0x4261fe
mov ecx, dword [0x464aa4]
mov dword [0x45a6d4], ecx
cmp esi, ebx
jne 0x426256
push str.No_files_to_process._n
call fcn.00434a96
add eax, 0x40
push eax
call fcn.00435780
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movsx edx, byte [ebp - 3]
push edx
push str.Non_numeric_argument_to____c__n
call fcn.00434a96
add eax, 0x40
push eax
call fcn.00435780
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movsx eax, bl
push eax
push str.Unknown_option____c_._n
jmp 0x42622e
cmp dword [ebp - 0x1c], 0
je 0x42629d
push 1
call fcn.00442334
add esp, 4
test eax, eax
je 0x426271
push str.Will_not_write_an_image_to_the_terminal__n
jmp 0x426207
push 0x8000
push 1
call fcn.004421f4
add esp, 8
test eax, eax
jge 0x42629d
push str.setmode__
call fcn.00433d7c
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, ebx
jge 0x426f9d
xor edi, edi
mov ebx, 1
mov dword [ebp - 0xc], ebx
mov dword [0x4ac418], edi
mov dword [0x465f40], edi
mov dword [ebp - 0x40], edi
mov dword [0x465f50], edi
call fcn.00434a96
add eax, 0x20
push edi
push 0x4660c0
mov dword [0x4862f8], eax
call fcn.00448064
add esp, 8
test eax, eax
je 0x426337
mov edx, dword [0x486344]
push edx
call fcn.004370f5
add esp, 4
cmp eax, 2
jle 0x426305
mov eax, dword [0x486344]
push eax
call fcn.00436131
add esp, 4
mov ecx, dword [0x4862f8]
push ecx
call fcn.004370f5
add esp, 4
cmp eax, 2
jle 0x426328
mov edx, dword [0x4862f8]
push edx
call fcn.00436131
add esp, 4
mov ebx, dword [ebp - 0x40]
mov dword [ebp - 0xc], 1
jmp 0x426e1f
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
push 0x45d644
push eax
mov dword [0x4ac404], eax
call fcn.00435275
add esp, 8
mov dword [0x486344], eax
cmp eax, edi
jne 0x426370
mov edx, dword [0x4ac404]
push edx
call fcn.00433d7c
add esp, 4
jmp 0x426f8d
call fcn.0041e410
mov esi, dword [0x4ac3a0]
xor eax, eax
cmp esi, edi
sete al
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x24]
cmp eax, edi
jl 0x426391
mov dword [0x486340], eax
mov eax, dword [0x486340]
add eax, 0xe10
cdq
mov ecx, 0x168
idiv ecx
sub edx, 0x5a
je 0x4263ca
sub edx, 0x5a
je 0x4263be
sub edx, 0x5a
jne 0x4263d4
mov dword [0x486340], 5
jmp 0x4263d4
mov dword [0x486340], 3
jmp 0x4263d4
mov dword [0x486340], 6
cmp dword [ebp - 0x28], edi
je 0x426483
mov eax, dword [0x486168]
mov edx, eax
or edx, dword [0x48616c]
jne 0x4263ff
mov eax, dword [0x4ac404]
push eax
mov dword [ebp - 0xc], ebx
push str._s_has_no_timestamp._n
jmp 0x4264b0
mov dword [ebp - 0xc], edi
cmp dword [ebp - 0x10], edi
je 0x426420
mov ecx, dword [0x4ac404]
mov edx, dword [0x4660a4]
push ecx
push edx
push eax
push str._10ld_10d__s_n
jmp 0x426aaa
cmp dword [0x464a9c], edi
je 0x42644a
push eax
mov eax, dword [0x4ac404]
push eax
push str._s_time_set_to__d._n
call fcn.00434a96
add eax, 0x40
push eax
call fcn.00435780
mov eax, dword [0x486168]
add esp, 0x10
mov ecx, dword [0x48616c]
mov edx, dword [0x4ac404]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x50], ecx
lea ecx, [ebp - 0x54]
push ecx
push edx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x54], eax
call fcn.00435442
mov edx, dword [0x486344]
add esp, 8
push edx
call fcn.00436131
add esp, 4
jmp 0x426f8d
mov dword [0x465c4c], 0x4256f0
cmp dword [ebp - 0x20], edi
je 0x426510
mov eax, dword [0x465c44]
xor ecx, ecx
cmp eax, edi
sete cl
mov dword [ebp - 0xc], ecx
cmp ecx, edi
je 0x4264d5
mov eax, dword [0x4ac404]
push eax
push str._s_has_no_thumbnail._n
call fcn.00434a96
add eax, 0x40
push eax
call fcn.00435780
mov edx, dword [0x486344]
add esp, 0xc
push edx
call fcn.00436131
add esp, 4
jmp 0x426f8d
mov ecx, dword [0x4ac490]
cmp ecx, edi
je 0x42670d
mov dx, word [0x465f5c]
mov dword [0x4862f0], ecx
mov cx, word [0x4660b8]
mov dword [0x465d28], eax
mov word [0x4ac486], cx
mov word [0x466040], dx
mov dword [0x466120], edi
cmp dword [0x4862f0], 0x40ad50
jne 0x426546
mov ax, word [0x4ac486]
mov dx, ax
and dx, bx
add ax, dx
mov word [0x4ac486], ax
mov ax, word [0x466040]
mov cx, ax
and cx, bx
add ax, cx
mov word [0x466040], ax
cmp dword [ebp - 0x10], edi
je 0x426771
cmp dword [0x464a9c], edi
je 0x426771
cmp byte [0x4ac3c0], 0
je 0x426771
mov edx, dword [0x4ac404]
push edx
push str._nFilename:__s_n
call fcn.004350ec
push 0x486168
call fcn.00433e0a
push eax
push str.Timestamp:__s
call fcn.004350ec
push 0x466060
push 0x4ac3c0
push str.Camera:__s__s_n
call fcn.004350ec
add esp, 0x20
cmp byte [0x466000], 0
je 0x4265c0
push 0x466000
push str.Owner:__s_n
call fcn.004350ec
add esp, 8
cmp dword [0x465f60], edi
je 0x426610
push str.DNG_Version:
call fcn.004350ec
add esp, 4
mov esi, 0x18
lea ebx, [ebx]
mov edx, dword [0x465f60]
mov eax, esi
neg eax
sbb eax, eax
mov ecx, esi
shr edx, cl
and eax, 0x24
add eax, 0xa
push eax
and edx, 0xff
push edx
push str._d_c
call fcn.004350ec
add esp, 0xc
sub esi, 8
jns 0x4265e0
fld dword [0x4ac40c]
call fcn.00436cf0
push eax
push str.ISO_speed:__d_n
call fcn.004350ec
push str.Shutter:
call fcn.004350ec
fldz
fld dword [0x465f58]
add esp, 0xc
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x426676
fld1
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x426676
push 0x45d70c
fstp st(0)
call fcn.004350ec
fld dword [0x465f58]
fld1
add esp, 4
fdivrp st(1)
fstp dword [0x465f58]
fld dword [0x465f58]
sub esp, 8
fstp qword [esp]
push str._0.1f_sec_n
call fcn.004350ec
fld dword [0x486304]
add esp, 4
fstp qword [esp]
push str.Aperture:_f__0.1f_n
call fcn.004350ec
fld dword [0x466124]
add esp, 4
fstp qword [esp]
push str.Focal_length:__0.1f_mm_n
call fcn.004350ec
add esp, 0xc
mov eax, 0x45d748
cmp dword [0x4660b4], edi
jne 0x4266c7
mov eax, 0x45d74c
push eax
push str.Embedded_ICC_profile:__s_n
call fcn.004350ec
mov eax, dword [0x4ac3a0]
push eax
push str.Number_of_raw_images:__d_n
call fcn.004350ec
fld1
fld qword [0x4660a8]
add esp, 0x10
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x42672e
sub esp, 8
fstp qword [esp]
push str.Pixel_Aspect_Ratio:__0.6f_n
call fcn.004350ec
add esp, 0xc
jmp 0x426730
push edi
push eax
mov eax, dword [0x486344]
push eax
call fcn.00435f77
mov ecx, dword [0x486300]
add esp, 0xc
mov dword [0x465c4c], ecx
jmp 0x426d34
fstp st(0)
cmp dword [0x465c44], edi
je 0x426755
movzx ecx, word [0x4660b8]
movzx edx, word [0x465f5c]
push ecx
push edx
push str.Thumb_size:___4d_x__d_n
call fcn.004350ec
add esp, 0xc
movzx eax, word [0x465d20]
movzx ecx, word [0x4ac484]
push eax
push ecx
push str.Full_size:____4d_x__d_n
call fcn.004350ec
jmp 0x42678f
cmp esi, edi
jne 0x426792
mov edx, dword [0x4ac404]
push edx
push str.Cannot_decode_file__s_n
call fcn.00434a96
add eax, 0x40
push eax
call fcn.00435780
add esp, 0xc
cmp dword [0x4ac3a0], edi
je 0x426ab2
cmp dword [0x466120], edi
je 0x4267e3
cmp dword [0x464a8c], edi
jne 0x4267dd
fldz
fcomp dword [0x464a88]
fnstsw ax
test ah, 0x44
jp 0x4267dd
fld1
fcom qword [0x45a680]
fnstsw ax
test ah, 0x44
jp 0x4267df
fcom qword [0x45a690]
fnstsw ax
test ah, 0x44
jnp 0x4267e5
mov eax, ebx
jmp 0x4267e7
fld1
mov eax, ebx
jmp 0x4267e7
fld1
xor eax, eax
movzx esi, word [0x4ac486]
movzx edi, word [0x466040]
movzx ecx, ax
lea ebx, [esi + ecx]
lea edx, [edi + ecx]
sar ebx, cl
sar edx, cl
cmp dword [ebp - 0x10], 0
mov word [0x4ac426], ax
mov word [0x4660b0], bx
mov word [0x466104], dx
je 0x426ac6
cmp dword [0x464a9c], 0
je 0x426a92
cmp dword [ebp - 0x18], 0
je 0x42694a
mov ax, word [0x465f64]
test ax, ax
je 0x4268c6
movzx eax, ax
fstp st(0)
fld qword [0x4517d0]
lea eax, [eax + ecx - 1]
sar eax, cl
movzx ecx, ax
mov word [0x465f64], ax
mov dword [ebp - 0x14], ecx
call fcn.00447860
fild dword [ebp - 0x14]
fnstcw word [ebp - 4]
movzx eax, word [ebp - 4]
fdiv st(1)
or eax, 0xc00
mov dword [ebp - 0x44], eax
movzx eax, bx
sub eax, dword [ebp - 0x14]
fldcw word [ebp - 0x44]
fistp dword [ebp - 0x44]
mov dx, word [ebp - 0x44]
mov dword [ebp - 0x44], eax
mov word [0x466104], dx
fldcw word [ebp - 4]
fild dword [ebp - 0x44]
fnstcw word [ebp - 4]
movzx eax, word [ebp - 4]
fdivrp st(1)
or eax, 0xc00
mov dword [ebp - 0x44], eax
fldcw word [ebp - 0x44]
fistp dword [ebp - 0x44]
mov bx, word [ebp - 0x44]
mov word [0x4660b0], bx
fldcw word [ebp - 4]
jmp 0x42694c
fld qword [0x4660a8]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x426909
movzx ecx, bx
fnstcw word [ebp - 4]
mov dword [ebp - 0x44], ecx
movzx eax, word [ebp - 4]
fild dword [ebp - 0x44]
or eax, 0xc00
mov dword [ebp - 0x44], eax
fdiv st(1)
fadd qword [0x4517d0]
fldcw word [ebp - 0x44]
fistp dword [ebp - 0x44]
mov bx, word [ebp - 0x44]
mov word [0x4660b0], bx
fldcw word [ebp - 4]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x42694a
movzx edx, dx
fnstcw word [ebp - 4]
movzx eax, word [ebp - 4]
mov dword [ebp - 0x44], edx
or eax, 0xc00
fild dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
fmulp st(1)
fadd qword [0x4517d0]
fldcw word [ebp - 0x44]
fistp dword [ebp - 0x44]
mov dx, word [ebp - 0x44]
mov word [0x466104], dx
fldcw word [ebp - 4]
jmp 0x42694c
fstp st(0)
test byte [0x486340], 4
je 0x42696c
xor bx, dx
xor dx, bx
xor bx, dx
mov word [0x466104], dx
mov word [0x4660b0], bx
push esi
push edi
push str.Image_size:___4d_x__d_n
call fcn.004350ec
movzx eax, word [0x4660b0]
movzx ecx, word [0x466104]
push eax
push ecx
push str.Output_size:__4d_x__d_n
call fcn.004350ec
mov edx, dword [0x465c58]
push edx
push str.Raw_colors:__d
call fcn.004350ec
add esp, 0x20
cmp dword [0x466120], 0
je 0x4269f4
push str._nFilter_pattern:
call fcn.004350ec
add esp, 4
cmp byte [0x4ac423], 0
jne 0x4269cc
mov byte [0x4ac423], 0x47
xor esi, esi
mov edi, edi
mov ecx, esi
mov edx, esi
and ecx, 1
sar edx, 1
call fcn.00401000
movsx eax, byte [eax + 0x4ac420]
push eax
call fcn.00435d83
inc esi
add esp, 4
cmp esi, 0x10
jl 0x4269d0
push str._nDaylight_multipliers:
call fcn.004350ec
xor esi, esi
add esp, 4
cmp dword [0x465c58], esi
jle 0x426a33
jmp 0x426a10
fld dword [esi*4 + 0x486150]
sub esp, 8
fstp qword [esp]
push 0x45d858
call fcn.004350ec
inc esi
add esp, 0xc
cmp esi, dword [0x465c58]
jl 0x426a10
fldz
fcomp dword [0x466110]
fnstsw ax
test ah, 5
jp 0x426a74
push str._nCamera_multipliers:
call fcn.004350ec
add esp, 4
mov esi, 0x466110
fld dword [esi]
sub esp, 8
fstp qword [esp]
push 0x45d874
call fcn.004350ec
add esi, 4
add esp, 0xc
cmp esi, 0x466120
jl 0x426a54
push 0xa
call fcn.00435d83
mov edx, dword [0x486344]
add esp, 4
push edx
call fcn.00436131
add esp, 4
jmp 0x426f8d
mov ecx, dword [0x4ac404]
fstp st(0)
push 0x466060
push 0x4ac3c0
push ecx
push str._s_is_a__s__s_image._n
call fcn.004350ec
add esp, 0x10
mov edx, dword [0x486344]
push edx
call fcn.00436131
add esp, 4
jmp 0x426f8d
cmp dword [0x45a6d4], 0
fstp st(0)
je 0x426aff
fld dword [0x451ac8]
fcomp dword [0x465c60]
fnstsw ax
test ah, 5
jp 0x426aff
mov ecx, 0xc
mov esi, 0x465c60
mov edi, 0x4ac360
rep movsd dword es:[edi], dword [esi]
mov dword [0x465f54], 0
movzx eax, dx
movzx ecx, bx
imul eax, ecx
push 8
push eax
call fcn.004348ad
mov dword [0x4ac418], eax
push eax
mov eax, 0x45d890
call fcn.004010b0
mov eax, dword [0x465f6c]
add esp, 0xc
test eax, eax
je 0x426b45
push eax
call fcn.0043493c
mov dword [0x465f50], eax
push eax
mov eax, 0x45d898
call fcn.004010b0
add esp, 8
cmp dword [0x464a9c], 0
je 0x426b75
mov edx, dword [0x4ac404]
push edx
push 0x466060
push 0x4ac3c0
push str.Loading__s__s_image_from__s_..._n
call fcn.00434a96
add eax, 0x40
push eax
call fcn.00435780
add esp, 0x14
mov eax, dword [0x464a70]
cmp eax, dword [0x4ac3a0]
jb 0x426b9f
push eax
mov eax, dword [0x4ac404]
push eax
push str._s:___s__d__requests_a_nonexistent_image__n
call fcn.00434a96
add eax, 0x40
push eax
call fcn.00435780
add esp, 0x10
mov ecx, dword [0x465d28]
mov edx, dword [0x486344]
push 0
push ecx
push edx
call fcn.00435f77
add esp, 0xc
call dword [0x4862f0]
cmp dword [0x4ac494], 0
je 0x426bcb
call fcn.00402160
mov eax, dword [ebp - 0x2c]
push eax
call fcn.00410080
mov eax, dword [ebp - 0x30]
add esp, 4
test eax, eax
je 0x426be7
push eax
call fcn.00410530
add esp, 4
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp word [0x465f64], cx
mov edi, 2
sete cl
add ecx, edi
mov esi, ecx
test eax, eax
jl 0x426c05
mov esi, eax
mov eax, dword [ebp - 0x38]
test eax, eax
jl 0x426c11
mov dword [0x4862f4], eax
mov eax, dword [ebp - 0x3c]
test eax, eax
jle 0x426c1d
mov dword [0x466044], eax
cmp dword [0x4ac488], 0
je 0x426c3d
cmp dword [0x464a94], 0
jne 0x426c34
call fcn.0040d5b0
cmp dword [0x4ac488], 0
jne 0x426c4a
cmp dword [0x464a94], edi
jge 0x426c4a
call fcn.00411d80
call fcn.00412920
cmp dword [0x466120], 0
je 0x426c91
cmp dword [0x464a94], 0
jne 0x426c91
test esi, esi
jne 0x426c6c
call fcn.00412d80
jmp 0x426c91
cmp esi, 1
je 0x426c8c
cmp dword [0x465c58], 3
jg 0x426c8c
cmp esi, edi
jne 0x426c85
call fcn.00413990
jmp 0x426c91
call fcn.00413f40
jmp 0x426c91
call fcn.004130f0
cmp dword [0x4ac48c], 0
je 0x426cd7
movzx ecx, word [0x466040]
movzx edx, word [0x4ac486]
imul ecx, edx
mov dword [0x465c58], 3
test ecx, ecx
jle 0x426cd7
mov eax, dword [0x4ac418]
add eax, 2
movzx edx, word [eax + 4]
movzx esi, word [eax]
add edx, esi
sar edx, 1
mov word [eax], dx
add eax, 8
sub ecx, 1
jne 0x426cc1
cmp dword [0x4ac488], 0
jne 0x426d1a
cmp dword [0x465c58], 3
jne 0x426cee
call fcn.00414dd0
cmp dword [0x4ac488], 0
jne 0x426d1a
cmp dword [0x464a98], edi
jne 0x426d04
call fcn.00414fc0
cmp dword [0x4ac488], 0
jne 0x426d1a
cmp dword [0x464a98], edi
jle 0x426d1a
call fcn.00415570
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x426d26
call fcn.00424340
call fcn.00423bb0
test esi, esi
je 0x426d34
call fcn.004246a0
mov eax, dword [0x465c4c]
cmp eax, 0x425570
jne 0x426d49
mov dword [ebp - 0x14], str..jpg
jmp 0x426d71
cmp dword [0x464aa8], 0
je 0x426d62
cmp eax, 0x4256f0
jne 0x426d62
mov dword [ebp - 0x14], str..tiff
jmp 0x426d71
mov eax, dword [0x465c58]
lea eax, [eax + eax*4 + 0x45d8fb]
mov dword [ebp - 0x14], eax
mov esi, dword [0x4ac404]
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x426d80
sub eax, edx
add eax, 0x40
push eax
call fcn.0043493c
mov ebx, eax
add esp, 4
mov dword [ebp - 0x40], ebx
test ebx, ebx
je 0x426fa7
cmp dword [ebp - 0x1c], 0
je 0x426e8e
mov ecx, dword [str.standard_output]
mov dword [ebx], ecx
mov edx, dword [0x45d920]
mov dword [ebx + 4], edx
mov eax, dword [0x45d924]
mov dword [ebx + 8], eax
mov ecx, dword [0x45d928]
mov dword [ebx + 0xc], ecx
cmp dword [0x464a9c], 0
je 0x426dee
push ebx
push str.Writing_data_to__s_..._n
call fcn.00434a96
add eax, 0x40
push eax
call fcn.00435780
add esp, 0xc
call dword [0x465c4c]
mov ecx, dword [0x486344]
push ecx
call fcn.00436131
add esp, 4
call fcn.00434a96
mov edx, eax
mov eax, dword [0x4862f8]
add edx, 0x20
cmp eax, edx
je 0x426e1f
push eax
call fcn.00436131
add esp, 4
mov eax, dword [0x465f50]
test eax, eax
je 0x426e31
push eax
call fcn.0043481f
add esp, 4
test ebx, ebx
je 0x426e3e
push ebx
call fcn.0043481f
add esp, 4
mov eax, dword [0x465f40]
test eax, eax
je 0x426e50
push eax
call fcn.0043481f
add esp, 4
mov eax, dword [0x4ac418]
test eax, eax
je 0x426e62
push eax
call fcn.0043481f
add esp, 4
cmp dword [0x464a74], 0
je 0x426f8d
mov eax, dword [0x464a70]
inc eax
mov dword [0x464a70], eax
cmp eax, dword [0x4ac3a0]
jae 0x426f83
dec dword [ebp - 8]
jmp 0x426f8d
mov edx, ebx
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x426e94
push 0x2e
push ebx
call fcn.00435a80
add esp, 8
test eax, eax
je 0x426eb0
mov byte [eax], 0
cmp dword [0x464a74], 0
je 0x426efb
mov eax, ebx
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x426ec0
sub eax, edx
mov edx, dword [0x464a70]
mov esi, eax
mov eax, dword [0x4ac3a0]
push edx
dec eax
push eax
push 0x45d92c
push 0
push 0
call fcn.00434d3f
add esp, 0x10
push eax
push str.__0d
add esi, ebx
push esi
call fcn.004339dc
add esp, 0x10
cmp dword [ebp - 0x20], 0
je 0x426f2a
mov eax, str..thumb
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x426f08
mov edi, ebx
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x426f14
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x14]
mov esi, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x426f30
mov edi, ebx
sub eax, esi
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x426f40
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x45d940
push ebx
rep movsb byte es:[edi], byte [esi]
call fcn.00435275
add esp, 8
mov dword [0x4862f8], eax
test eax, eax
jne 0x426dce
push ebx
mov dword [ebp - 0xc], 1
call fcn.00433d7c
jmp 0x426e1c
mov dword [0x464a70], 0
mov eax, dword [ebp - 8]
inc eax
cmp eax, dword [ebp + 8]
mov dword [ebp - 8], eax
jl 0x4262a5
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.main__
push esi
push str._s:_Out_of_memory_in__s_n
call fcn.00434a96
add eax, 0x40
push eax
call fcn.00435780
add esp, 0x10
push 1
push 0x4660c0
call fcn.00435cb8
nop
cmpsb byte [esi], byte es:[edi]
popal
inc edx
add byte [esi + 0x28004261], bh
popal
inc edx
add al, bh
pop esi
inc edx
add byte [esi + 0x61], dh
inc edx
add dl, dh
pop edi
inc edx
add cl, al
pushal
inc edx
add byte [ebp + 0x61], ah
inc edx
add byte [edx - 0x6fffbda0], dh
pop edi
inc edx
add byte [edx - 0x71ffbd9f], bl
popal
inc edx
add byte [ebp + 0x61], cl
inc edx
add byte [esi - 0xbffbda2], dh
pushal
inc edx
add ah, bl
pushal
inc edx
add byte [ecx], bl
popal
inc edx
add byte [ebx], ch
pop edi
inc edx
add byte [edi], cl
popal
inc edx
add al, ch
pushal
inc edx
add byte [ebp + 0x78004261], al
pop edi
inc edx
add al, bl
pop edi
inc edx
add byte [ebx + 0x7700425e], bl
pushal
inc edx
add al, al
pop edi
inc edx
add cl, dl
pop esi
inc edx
add byte [eax], cl
inc edx
add byte [eax + 0x425f], ch
popal
inc edx
add byte [ecx + 0x61], bl
inc edx
add al, dl
pushal
inc edx
add byte [ebx + 0x62], cl
inc edx
add byte [eax], al
and byte [ecx], al
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
add ah, byte [eax]
add eax, dword [eax]
and byte [eax], ah
add eax, 537272352
pop es
and byte [eax], ah
or byte [eax], ah
and byte [ecx], cl
or ah, byte [eax]
and byte [ebx], cl
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [ecx + 269419534], cl
adc dword [edx], edx
adc edx, dword [edx + 404166176]
and byte [ecx], bl
sbb bl, byte [ebx]
sbb al, 32
sbb eax, 522199070
int3