Function at 0x100ac6e0
Capabilities:
Check http status code
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x38c
push ebx
push esi
mov esi, dword [ebp + 8]
xor eax, eax
push edi
mov dword [esp + 0x3c], 0x10
mov ebx, dword [esi + 0x65b4]
mov dword [esp + 0x34], eax
cmp ebx, 0xa
mov dword [esp + 0x40], eax
mov byte [esp + 0x20], al
mov byte [esp + 0x21], 1
mov byte [esp + 0x22], 2
mov byte [esp + 0x23], 3
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], 0x3ff00000
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], 0x3ff00000
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], 0x3ff00000
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], 0x3ff00000
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 0x3ff00000
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], 0x3ff00000
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 0x3ff00000
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], 0xfff
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], eax
jb 0x100ac803
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [ebx + 1]
mov dword [esp + 0x44], ebx
mov dword [esi + 0x65b4], ecx
xor edi, edi
lea ecx, [esp + 0x158]
jmp 0x100ac81d
xor eax, eax
xor edx, edx
cmp eax, edi
sete dl
mov dword [esp + 0x30], edx
inc eax
fild dword [esp + 0x30]
add ecx, 8
cmp eax, 4
fstp qword [ecx - 8]
jl 0x100ac81d
inc edi
cmp edi, 4
jl 0x100ac81b
push esi
call fcn.1009c5e0
and eax, 0xffff
add esp, 4
cmp eax, 0x200
jbe 0x100ac85f
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, eax
dec eax
test ecx, ecx
mov dword [esp + 0x30], eax
je 0x100add0d
jmp 0x100ac874
mov ebx, dword [esp + 0x44]
mov edi, dword [ebp + 0xc]
lea edx, [esp + 0x68]
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x18]
push eax
lea edx, [esp + 0x40]
push ecx
push edx
push edi
push esi
call fcn.100aa810
mov eax, dword [esp + 0x50]
add esp, 0x18
cmp eax, 0x827d
ja 0x100ad08a
je 0x100ad070
cmp eax, 0x117
ja 0x100acbbc
je 0x100ace90
cmp eax, 0x102
ja 0x100acace
je 0x100acaa2
cmp eax, 0x26
ja 0x100ac98d
cmp eax, 0x24
jae 0x100ac967
add eax, 0xfffffffe
cmp eax, 0x15
ja case.0x100acbe3.299
xor ecx, ecx
mov cl, byte [eax + 0x100ade8c]
jmp dword [ecx*4 + 0x100ade78]
cmp dword [esp + 0x14], 3
jne case.0x100acbe3.299
cmp dword [esp + 0x18], 1
jne case.0x100acbe3.299
push esi
call fcn.1009c5e0
add esp, 4
and eax, 0xffff
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x38]
fild dword [esp + 0x10]
fmul dword [0x100ed9c4]
fstp dword [esi + edx*8 + 0xe634]
jmp case.0x100acbe3.299
cmp dword [esp + 0x14], 3
jne case.0x100acbe3.299
push esi
call fcn.1009c5e0
add esp, 4
and eax, 0xffff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esi + 0x6560]
jmp case.0x100acbe3.299
push esi
call fcn.1009c5e0
add esp, 4
and eax, 0xffff
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
fild dword [esp + 0x10]
fstp dword [esi + eax*4 + 0xe62c]
jmp case.0x100acbe3.299
add eax, 0xffffffd9
cmp eax, 0xda
ja case.0x100acbe3.299
xor ecx, ecx
mov cl, byte [eax + 0x100adeb8]
jmp dword [ecx*4 + 0x100adea4]
cmp dword [esp + 0x18], 0x32
jb case.0x100acbe3.299
fld dword [esi + 0xe6bc]
fcomp dword [0x100cd3a4]
lea edi, [esi + 0xe6bc]
fnstsw ax
test ah, 0x40
je case.0x100acbe3.299
mov eax, dword [esi + 4]
mov edx, dword [esi]
push 1
push 0xc
push eax
call dword [edx + 8]
add esp, 0xc
mov ebx, 3
push esi
call fcn.1009c5e0
and eax, 0xffff
add esp, 4
mov dword [esp + 0x10], eax
add edi, 4
fild dword [esp + 0x10]
dec ebx
fstp dword [edi - 4]
jne 0x100ac9e7
jmp case.0x100acbe3.299
cmp dword [esp + 0x14], 7
jne case.0x100acbe3.299
mov edx, dword [esi + 4]
mov ecx, dword [esi]
push edx
call dword [ecx + 0x1c]
add esp, 4
cmp eax, 0xff
jne case.0x100acbe3.299
mov ecx, dword [esi + 4]
mov eax, dword [esi]
push ecx
call dword [eax + 0x1c]
add esp, 4
cmp eax, 0xd8
jne case.0x100acbe3.299
mov eax, dword [esi + 4]
mov edx, dword [esi]
push eax
call dword [edx + 0x18]
mov ecx, dword [esp + 0x1c]
add esp, 4
sub eax, 2
mov dword [esi + 0x6590], eax
mov dword [esi + 0x659c], ecx
jmp case.0x100acbe3.299
mov edx, dword [esp + 0x14]
push edx
push esi
call fcn.1009c6c0
lea ecx, [ebx + ebx*8 + 0x1830]
add esp, 8
mov dword [esi + ecx*4], eax
jmp case.0x100acbe3.299
mov edx, dword [esp + 0x14]
push edx
push esi
call fcn.1009c6c0
lea ecx, [ebx + ebx*8]
add esp, 8
mov dword [esi + ecx*4 + 0x60c4], eax
jmp case.0x100acbe3.299
mov eax, dword [esp + 0x18]
lea edx, [ebx + ebx*8]
and eax, 7
push esi
lea ebx, [esi + edx*4]
mov dword [ebx + 0x60dc], eax
call fcn.1009c5e0
add esp, 4
and eax, 0xffff
mov dword [ebx + 0x60c8], eax
jmp case.0x100acbe3.299
add eax, 0xfffffefd
cmp eax, 0x12
ja case.0x100acbe3.299
xor ecx, ecx
mov cl, byte [eax + 0x100adfb8]
jmp dword [ecx*4 + 0x100adf94]
push esi
call fcn.1009c5e0
add esp, 4
lea edx, [ebx + ebx*8]
and eax, 0xffff
mov dword [esi + edx*4 + 0x60cc], eax
jmp case.0x100acbe3.299
push esi
call fcn.1009c5e0
add esp, 4
lea ecx, [ebx + ebx*8]
and eax, 0xffff
mov dword [esi + ecx*4 + 0x60d0], eax
jmp case.0x100acbe3.299
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push 1
lea eax, [esi + 0x6255]
push 0x200
push eax
push ecx
call dword [edx]
add esp, 0x10
jmp case.0x100acbe3.299
mov ecx, dword [esi + 4]
mov edx, dword [esi]
lea eax, [esi + 0x6455]
push 0x40
push eax
push ecx
call dword [edx + 0x10]
add esp, 0xc
jmp case.0x100acbe3.299
mov ecx, dword [esi + 4]
mov edx, dword [esi]
lea eax, [esi + 0x6495]
push 0x40
push eax
push ecx
call dword [edx + 0x10]
add esp, 0xc
jmp case.0x100acbe3.299
push esi
call fcn.1009c5e0
and eax, 7
add esp, 4
movsx edx, byte [eax + str.50132467]
lea eax, [ebx + ebx*8]
sub edx, 0x30
mov dword [esi + eax*4 + 0x60d8], edx
jmp case.0x100acbe3.299
mov ecx, dword [esp + 0x14]
push ecx
push esi
call fcn.1009c6c0
add esp, 8
lea edx, [ebx + ebx*8]
and eax, 7
mov dword [esi + edx*4 + 0x60dc], eax
jmp case.0x100acbe3.299
cmp eax, 0x190
ja 0x100ace60
je 0x100ace3a
add eax, 0xfffffedd
cmp eax, 0x27
ja case.0x100acbe3.299
xor ecx, ecx
mov cl, byte [eax + 0x100adff0]
jmp dword [ecx*4 + 0x100adfcc]
mov ecx, dword [esi + 4]
mov edx, dword [esi]
lea eax, [esp + 0xdc]
push 0x40
push eax
push ecx
call dword [edx + 0x10]
mov edi, dword [sym.imp.MSVCRT.dll_strncmp]
push 5
lea edx, [esp + 0xec]
push str.Adobe
push edx
call edi
add esp, 0x18
test eax, eax
je 0x100acca8
push 5
lea eax, [esp + 0xe0]
push str.dcraw
push eax
call edi
add esp, 0xc
test eax, eax
je 0x100acca8
push 6
lea ecx, [esp + 0xe0]
push str.Bibble
push ecx
call edi
add esp, 0xc
test eax, eax
je 0x100acca8
push 0xa
lea edx, [esp + 0xe0]
push str.Nikon_Scan
push edx
call edi
add esp, 0xc
test eax, eax
je 0x100acca8
mov edi, str.Digital_Photo_Professional
lea eax, [esp + 0xdc]
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x100acc9b
test cl, cl
je 0x100acc97
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x100acc9b
add eax, 2
add edi, 2
test cl, cl
jne 0x100acc73
xor eax, eax
jmp 0x100acca0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne case.0x100acbe3.299
mov dword [esi + 0x65e0], 0
jmp case.0x100acbe3.299
push 0
push esi
call fcn.100abb70
add esp, 8
jmp case.0x100acbe3.299
mov edx, dword [esi + 4]
mov eax, dword [esi]
push 1
lea ecx, [esi + 0x6515]
push 0x40
push ecx
push edx
call dword [eax]
add esp, 0x10
jmp case.0x100acbe3.299
mov eax, dword [esp + 0x14]
push eax
push esi
call fcn.1009c6c0
add esp, 8
mov dword [esi + 0x65f0], eax
jmp case.0x100acbe3.299
mov ecx, dword [esp + 0x14]
push ecx
push esi
call fcn.1009c6c0
add esp, 8
mov dword [esi + 0x65f4], eax
jmp case.0x100acbe3.299
cmp dword [esp + 0x18], 1
jbe 0x100acd26
mov eax, dword [esi + 4]
mov edx, dword [esi]
push eax
call dword [edx + 0x18]
jmp 0x100acd2c
push esi
call fcn.1009c680
lea ecx, [ebx + ebx*8]
add esp, 4
mov dword [esi + ecx*4 + 0x60d4], eax
mov eax, dword [esp + 0x18]
cmp eax, 4
jne case.0x100acbe3.299
mov dword [esi + 0x2e744], 0x100a1d00
mov dword [esi + 0x65e0], 5
jmp case.0x100acbe3.299
mov eax, str.DSLR_A100
lea edi, [esi + 0x6495]
mov dl, byte [edi]
mov cl, dl
cmp dl, byte [eax]
jne 0x100acd8e
test cl, cl
je 0x100acd8a
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x100acd8e
add edi, 2
add eax, 2
test cl, cl
jne 0x100acd6a
xor eax, eax
jmp 0x100acd93
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100acdc5
lea eax, [ebx + ebx*8 + 0x1830]
cmp dword [esi + eax*4], 0xf20
jne 0x100acdc5
push esi
call fcn.1009c680
mov ecx, dword [ebp + 0xc]
add esp, 4
add eax, ecx
inc ebx
mov dword [esi + 0x658c], eax
mov dword [esp + 0x44], ebx
jmp case.0x100acbe3.299
mov eax, dword [esp + 0x18]
mov ecx, eax
dec eax
test ecx, ecx
mov dword [esp + 0x18], eax
je case.0x100acbe3.299
mov eax, dword [esi + 4]
mov edx, dword [esi]
push eax
call dword [edx + 0x18]
mov ebx, dword [esi]
add esp, 4
mov edi, eax
push 0
push esi
call fcn.1009c680
mov ecx, dword [esi + 4]
mov edx, ebx
mov ebx, dword [ebp + 0xc]
add esp, 4
add eax, ebx
push eax
push ecx
call dword [edx + 8]
push ebx
push esi
call fcn.100ac6e0
add esp, 0x14
test eax, eax
jne case.0x100acbe3.299
mov ecx, dword [esi + 4]
mov eax, dword [esi]
add edi, 4
push 0
push edi
push ecx
call dword [eax + 8]
mov eax, dword [esp + 0x24]
add esp, 0xc
mov edx, eax
dec eax
test edx, edx
mov dword [esp + 0x18], eax
jne 0x100acdd8
jmp case.0x100acbe3.299
mov eax, dword [str.Sarnoff]
mov dword [esi + 0x6455], eax
mov ecx, dword [0x100fccc4]
mov dword [esi + 0x6459], ecx
mov dword [esi + 0x65c8], 0xfff
jmp case.0x100acbe3.299
cmp eax, 0x7201
ja 0x100acff2
je 0x100acfe0
cmp eax, 0x7010
ja 0x100acfc3
je 0x100acf4f
sub eax, 0x201
je case.0x100acae4.264
dec eax
jne case.0x100acbe3.299
push esi
call fcn.1009c680
lea edx, [ebx + ebx*8]
add esp, 4
mov dword [esi + edx*4 + 0x60e0], eax
jmp case.0x100acbe3.299
push esi
call fcn.1009c680
mov ecx, dword [ebp + 0xc]
lea edx, [ebx + ebx*8]
add eax, ecx
add esp, 4
lea edi, [esi + edx*4]
mov dword [edi + 0x60d4], eax
mov ecx, dword [edi + 0x60c8]
test ecx, ecx
jne case.0x100acbe3.299
mov edx, dword [esi + 4]
mov ecx, dword [esi]
push 0
push eax
push edx
call dword [ecx + 8]
lea eax, [esp + 0x128]
push 1
push eax
push esi
call fcn.1009def0
add esp, 0x18
test eax, eax
je case.0x100acbe3.299
mov dword [edi + 0x60cc], 6
mov edx, dword [esp + 0x128]
xor ecx, ecx
cmp edx, 2
mov edx, dword [esp + 0x124]
lea eax, [ebx + ebx*8 + 0x1830]
sete cl
shl edx, cl
mov dword [esi + eax*4], edx
mov ecx, dword [esp + 0x120]
mov dword [edi + 0x60c4], ecx
mov edx, dword [esp + 0x11c]
mov dword [edi + 0x60c8], edx
mov eax, dword [esp + 0x128]
mov dword [edi + 0x60dc], eax
jmp case.0x100acbe3.299
lea ebx, [esp + 0x98]
mov edi, 4
push esi
call fcn.1009c5e0
shr eax, 2
and eax, 0xfff
add esp, 4
mov dword [ebx], eax
add ebx, 4
dec edi
jne 0x100acf5b
lea eax, [esp + 0x98]
xor ecx, ecx
mov dword [esp + 0x10], eax
mov edi, dword [eax - 4]
mov eax, dword [eax]
inc edi
cmp edi, eax
jg 0x100acfad
mov ebx, 1
sub eax, edi
shl ebx, cl
lea edx, [esi + edi*2 + 0x66ac]
inc eax
mov di, word [edx - 2]
add edx, 2
add di, bx
dec eax
mov word [edx - 2], di
jne 0x100acf9c
mov eax, dword [esp + 0x10]
inc ecx
add eax, 4
cmp ecx, 5
mov dword [esp + 0x10], eax
jl 0x100acf81
jmp case.0x100acbe3.299
cmp eax, 0x7200
jne case.0x100acbe3.299
push esi
call fcn.1009c680
add esp, 4
mov dword [esp + 0x2c], eax
jmp case.0x100acbe3.299
push esi
call fcn.1009c680
add esp, 4
mov dword [esp + 0x28], eax
jmp case.0x100acbe3.299
sub eax, 0x7221
je 0x100ad05e
sub eax, 0x2f
je 0x100ad03d
sub eax, 0xb3
jne case.0x100acbe3.299
xor edi, edi
push esi
call fcn.1009c5e0
add esp, 4
and eax, 0xffff
xor ecx, ecx
cmp edi, 2
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
setl cl
xor ecx, edi
inc edi
cmp edi, 4
fstp dword [esi + ecx*4 + 0xe6bc]
jl 0x100ad00b
jmp case.0x100acbe3.299
mov eax, dword [esi + 4]
mov edx, dword [esi]
push eax
call dword [edx + 0x18]
push eax
push esi
call fcn.100ae670
add esp, 0xc
mov word [esi + 0x65fa], 0
jmp case.0x100acbe3.299
push esi
call fcn.1009c680
add esp, 4
mov dword [esp + 0x24], eax
jmp case.0x100acbe3.299
mov eax, dword [esi + 4]
mov ecx, dword [esi]
lea edx, [esi + 0x64d5]
push 0x40
push edx
push eax
call dword [ecx + 0x10]
add esp, 0xc
jmp case.0x100acbe3.299
cmp eax, 0xc612
ja 0x100ad737
je 0x100ad70d
cmp eax, 0x8773
ja 0x100ad2b3
je 0x100adac8
cmp eax, 0x85ff
ja 0x100ad12e
je 0x100ad262
add eax, 0xffff7d72
cmp eax, 0xf
ja case.0x100acbe3.299
xor ecx, ecx
mov cl, byte [eax + 0x100ae02c]
jmp dword [ecx*4 + 0x100ae018]
mov ebx, dword [esi]
push 0
push esi
call fcn.1009c680
mov edx, dword [esi + 4]
add esp, 4
add eax, edi
push eax
push edx
call dword [ebx + 8]
push edi
push esi
call fcn.100ac4b0
add esp, 0x14
jmp case.0x100acbe3.299
mov eax, dword [esp + 0x14]
push eax
push esi
call fcn.1009c700
fstp dword [esi + 0x6564]
add esp, 8
jmp case.0x100acbe3.299
mov ecx, dword [esp + 0x14]
push ecx
push esi
call fcn.1009c700
fstp dword [esi + 0x6568]
add esp, 8
jmp case.0x100acbe3.299
cmp eax, 0x8606
ja 0x100ad282
je 0x100ad24f
sub eax, 0x8602
je 0x100ad21a
dec eax
jne case.0x100acbe3.299
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push 7
lea eax, [esp + 0xe0]
push 1
push eax
push ecx
call dword [edx]
push 6
lea edx, [esp + 0xf0]
push str.MATRIX
push edx
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0x1c
test eax, eax
jne case.0x100acbe3.299
xor ebx, ebx
lea eax, [esi + 0xe70c]
mov dword [esi + 0x6618], 4
mov dword [esi + 0x65d0], ebx
mov dword [esp + 0x10], eax
xor edi, edi
mov edx, edi
mov ecx, dword [esi]
xor edx, 1
add edx, ebx
lea eax, [esi + edx*4 + 0xe70c]
mov edx, dword [esi + 4]
push eax
push 0x100fcc04
push edx
call dword [ecx + 0x20]
add esp, 0xc
inc edi
cmp edi, 4
jl 0x100ad1a3
mov eax, dword [esi + 0xac]
test eax, eax
je 0x100ad202
mov edx, dword [esp + 0x10]
mov ecx, 4
fld qword [0x100cd3f0]
mov eax, edx
fadd dword [eax]
add eax, 4
dec ecx
jne 0x100ad1e4
mov eax, edx
mov ecx, 4
fld dword [eax]
fdiv st(1)
add eax, 4
dec ecx
fstp dword [eax - 4]
jne 0x100ad1f3
fstp st(0)
mov ecx, dword [esp + 0x10]
add ebx, 4
add ecx, 0x10
cmp ebx, 0xc
mov dword [esp + 0x10], ecx
jl 0x100ad1a1
jmp case.0x100acbe3.299
xor edi, edi
push esi
call fcn.1009c5e0
and eax, 0xffff
add esp, 4
mov dword [esp + 0x10], eax
mov eax, edi
fild dword [esp + 0x10]
xor eax, 1
inc edi
cmp edi, 4
fdivr dword [0x100ed9ec]
fstp dword [esi + eax*4 + 0xe6bc]
jl 0x100ad21c
jmp case.0x100acbe3.299
mov edx, dword [esi + 4]
mov ecx, dword [esi]
push edx
call dword [ecx + 0x18]
push eax
push esi
call fcn.100abf50
add esp, 0xc
mov ecx, dword [str.Leaf]
lea eax, [esi + 0x6455]
mov dword [esi + 0x6455], ecx
mov dl, byte [0x100fbe9c]
mov byte [eax + 4], dl
jmp case.0x100acbe3.299
cmp eax, 0x8769
jne case.0x100acbe3.299
mov ebx, dword [esi]
push 0
push esi
call fcn.1009c680
add esp, 4
add eax, edi
push eax
mov eax, dword [esi + 4]
push eax
call dword [ebx + 8]
push edi
push esi
call fcn.100abc50
add esp, 0x14
jmp case.0x100acbe3.299
cmp eax, 0xb4c3
ja 0x100ad3db
je 0x100ad396
cmp eax, 0x9211
ja 0x100ad325
je 0x100ad30c
cmp eax, 0x9102
je 0x100ad2f8
cmp eax, 0x920a
jne case.0x100acbe3.299
mov ecx, dword [esp + 0x14]
push ecx
push esi
call fcn.1009c700
fstp dword [esi + 0x656c]
add esp, 8
jmp case.0x100acbe3.299
push esi
call fcn.1009c680
add esp, 4
mov dword [esi + 0x6578], eax
jmp case.0x100acbe3.299
mov edx, dword [esp + 0x14]
push edx
push esi
call fcn.1009c6c0
add esp, 8
mov dword [esi + 0x6574], eax
jmp case.0x100acbe3.299
cmp eax, 0x9218
jne case.0x100acbe3.299
lea eax, [esi + 0xe70c]
mov dword [esi + 0x65d0], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], 3
mov ecx, dword [esp + 0x14]
push ecx
push esi
call fcn.1009c700
mov edi, dword [esp + 0x18]
add esp, 8
fstp st(0)
mov ebx, 3
mov edx, dword [esp + 0x14]
push edx
push esi
call fcn.1009c700
fstp dword [edi]
add esp, 8
add edi, 4
dec ebx
jne 0x100ad365
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
add ecx, 0x10
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], eax
jne 0x100ad34c
jmp case.0x100acbe3.299
mov ecx, dword [str.Imacon]
lea eax, [esi + 0x6455]
mov dword [esi + 0x6455], ecx
mov dx, word [0x100fccb4]
mov word [eax + 4], dx
mov cl, byte [0x100fccb6]
mov edx, dword [esi]
mov byte [eax + 6], cl
mov eax, dword [esi + 4]
push eax
call dword [edx + 0x18]
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [esi + 0x658c], eax
mov dword [esp + 0x40], ecx
jmp case.0x100acbe3.299
cmp eax, 0xc517
ja 0x100ad686
cmp eax, 0xc516
jae 0x100ad5eb
cmp eax, 0xb4c7
jne case.0x100acbe3.299
mov eax, dword [esi + 4]
mov edx, dword [esi]
push 1
push 0x4e
push eax
call dword [edx + 8]
push esi
call fcn.1009c680
push esi
mov word [esi + 0x65fa], ax
call fcn.1009c680
push esi
mov word [esi + 0x65f8], ax
call fcn.1009c680
and eax, 7
push esi
mov word [esi + 0x6602], ax
call fcn.1009c680
mov cx, word [esi + 0x65fa]
and eax, 7
sub cx, ax
push esi
sub cx, word [esi + 0x6602]
mov word [esi + 0x65fe], cx
call fcn.1009c680
and eax, 7
push esi
mov word [esi + 0x6600], ax
call fcn.1009c680
mov dx, word [esi + 0x65f8]
and eax, 7
sub dx, ax
add esp, 0x24
sub dx, word [esi + 0x6600]
cmp word [esi + 0x65fa], 0x1c5e
mov word [esi + 0x65fc], dx
jne 0x100ad4ae
mov word [esi + 0x65fc], 0x1544
mov word [esi + 0x65fe], 0x1c4c
mov word [esi + 0x6602], 7
mov ecx, dword [esi + 4]
mov eax, dword [esi]
push 1
push 0x34
push ecx
call dword [eax + 8]
add esp, 0xc
lea edi, [esi + 0xe6bc]
mov ebx, 3
push 0xb
push esi
call fcn.1009c700
fstp dword [edi]
add esp, 8
add edi, 4
dec ebx
jne 0x100ad4c9
mov eax, dword [esi + 4]
mov edx, dword [esi]
push 1
push 0x72
push eax
call dword [edx + 8]
push esi
call fcn.1009c5e0
mov di, word [esi + 0x65fe]
mov bx, word [esi + 0x65fc]
mov ecx, ebx
mov edx, edi
and ecx, 0xffff
and edx, 0xffff
imul ecx, edx
and eax, 0xffff
mov edx, dword [esp + 0x50]
shr eax, 7
lea ecx, [ecx + ecx*2]
add esp, 0x10
lea eax, [eax + eax*4]
shl ecx, 1
lea eax, [eax + eax*8]
shl eax, 1
cmp ecx, edx
mov dword [esi + 0x6610], eax
jne 0x100ad56f
cdq
mov ecx, 0xb4
idiv ecx
cmp edx, 0x5a
jne 0x100ad561
xor ebx, edi
xor word [esi + 0x65fc], bx
mov ax, word [esi + 0x65fc]
mov word [esi + 0x65fe], bx
xor word [esi + 0x65fe], ax
xor eax, eax
mov dword [esi + 0x6610], eax
mov dword [esi + 0x657c], eax
xor ecx, ecx
xor edx, edx
mov cx, word [esi + 0x65fc]
mov dx, word [esi + 0x65fe]
imul ecx, edx
mov eax, 0x431bde83
imul ecx
sar edx, 0x12
mov eax, edx
lea ecx, [esi + 0x6495]
shr eax, 0x1f
add edx, eax
push edx
push str.Ixpress__d_Mp
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [esi + 0x657c]
add esp, 0xc
test eax, eax
mov dword [esi + 0x2e744], 0x100a1f50
je 0x100ad5dc
test byte [esi + 0x6602], 1
je 0x100ad5d2
mov dword [esi + 0x657c], 0x61616161
mov dword [esi + 0x2e744], fcn.100a2130
mov dword [esi + 0x65c8], 0xffff
jmp case.0x100acbe3.299
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.MSVCRT.dll_malloc]
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x100acbe3.299
mov ecx, dword [esp + 0x18]
mov edx, dword [esi + 4]
mov eax, dword [esi]
push ecx
push 1
push ebx
push edx
call dword [eax]
lea edi, [ebx - 1]
add esp, 0x10
test edi, edi
je 0x100ad677
mov eax, dword [esp + 0x18]
lea ecx, [ebx + eax]
cmp edi, ecx
jae 0x100ad677
inc edi
push 8
push str.Neutral
push edi
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x100ad665
lea edx, [esi + 0xe6c4]
lea eax, [esi + 0xe6c0]
push edx
lea ecx, [esi + 0xe6bc]
push eax
push ecx
lea edx, [edi + 8]
push str._f__f__f
push edx
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0x14
push 0xa
push edi
call dword [sym.imp.MSVCRT.dll_strchr]
mov edi, eax
add esp, 8
test edi, edi
jne 0x100ad61d
push ebx
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
jmp case.0x100acbe3.299
cmp eax, 0xc51b
jne case.0x100acbe3.299
movsx eax, word [esi + 0x6244]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
push edx
mov dword [esp + 0x14], eax
call dword [ecx + 0x18]
mov edi, eax
mov eax, dword [esi + 0x65b4]
push esi
mov dword [esp + 0x24], eax
call fcn.1009c5e0
push esi
mov word [esi + 0x6244], ax
call fcn.1009c5e0
mov ebx, dword [esi]
add esp, 0xc
push 0
push esi
call fcn.1009c680
mov ecx, dword [esi + 4]
add esp, 4
add eax, edi
push eax
push ecx
call dword [ebx + 8]
push edi
push esi
call fcn.100ac6e0
mov edx, dword [esp + 0x30]
mov ax, word [esp + 0x24]
add esp, 0x14
mov dword [esi + 0x65c8], 0xffff
mov dword [esi + 0x65b4], edx
mov word [esi + 0x6244], ax
jmp case.0x100acbe3.299
mov edi, 4
mov edx, dword [esi + 4]
mov ecx, dword [esi]
push edx
call dword [ecx + 0x1c]
mov ecx, dword [esi + 0x65e4]
add esp, 4
shl ecx, 8
add eax, ecx
dec edi
mov dword [esi + 0x65e4], eax
jne 0x100ad712
jmp case.0x100acbe3.299
cmp eax, 0xc634
ja 0x100ada32
je 0x100ad9f8
add eax, 0xffff39ea
cmp eax, 0x13
ja case.0x100acbe3.299
xor edx, edx
mov dl, byte [eax + 0x100ae06c]
jmp dword [edx*4 + 0x100ae03c]
mov eax, dword [esp + 0x18]
cmp eax, 4
jbe 0x100ad777
mov eax, 4
mov dword [esp + 0x18], eax
mov ecx, dword [esi]
mov dword [esi + 0x6618], eax
push eax
mov eax, dword [esi + 4]
lea edx, [esp + 0x24]
push 1
push edx
push eax
call dword [ecx]
mov ebx, dword [esp + 0x4c]
add esp, 0x10
jmp 0x100adb86
push esi
call fcn.1009c5e0
add esp, 4
cmp ax, 2
jne case.0x100acbe3.299
mov word [esi + 0x660a], 1
mov dword [esi + 0x657c], 0x49494949
jmp case.0x100acbe3.299
mov ecx, dword [esp + 0x18]
push ecx
push esi
call fcn.100ac450
add esp, 8
jmp case.0x100acbe3.299
mov eax, dword [esp + 0x18]
xor edi, edi
test eax, eax
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
jle 0x100ad808
mov edx, dword [esp + 0x14]
push edx
push esi
call fcn.1009c700
fadd qword [esp + 0x50]
mov eax, dword [esp + 0x20]
add esp, 8
inc edi
cmp edi, eax
fstp qword [esp + 0x48]
jl 0x100ad7e9
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 0
fild qword [esp + 0x6c]
fdivr qword [esp + 0x48]
fadd qword [0x100cd390]
call sub.MSVCRT.dll__ftol
add dword [esi + 0x65c4], eax
jmp case.0x100acbe3.299
mov eax, dword [esp + 0x14]
push eax
push esi
call fcn.1009c6c0
add esp, 8
mov dword [esi + 0x65c8], eax
jmp case.0x100acbe3.299
mov ecx, dword [esp + 0x14]
push ecx
push esi
call fcn.1009c700
mov edx, dword [esp + 0x1c]
fstp qword [esi + 0x6620]
push edx
push esi
call fcn.1009c700
fdivr qword [esi + 0x6620]
add esp, 0x10
fstp qword [esi + 0x6620]
jmp case.0x100acbe3.299
mov eax, dword [esi + 0x6618]
mov dword [esp + 0x1c], 0
test eax, eax
jle 0x100ad8c2
lea edi, [esp + 0x238]
mov ebx, 3
mov eax, dword [esp + 0x14]
push eax
push esi
call fcn.1009c700
fstp qword [edi]
add esp, 8
add edi, 8
dec ebx
jne 0x100ad899
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + 0x6618]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x100ad894
mov dword [esp + 0x34], 1
jmp case.0x100acbe3.299
mov eax, dword [esi + 0x6618]
mov dword [esp + 0x10], 0
test eax, eax
jle case.0x100ad75e.50718
lea ecx, [esp + 0x158]
mov dword [esp + 0x1c], ecx
xor edi, edi
test eax, eax
jle 0x100ad914
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push edx
push esi
call fcn.1009c700
fstp qword [ebx]
mov eax, dword [esi + 0x6618]
add esp, 8
inc edi
add ebx, 8
cmp edi, eax
jl 0x100ad8f6
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov eax, dword [esi + 0x6618]
inc ecx
add edi, 0x20
cmp ecx, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edi
jl 0x100ad8ec
mov eax, dword [esi + 0x6618]
xor edi, edi
test eax, eax
jle case.0x100acbe3.299
lea ebx, [esp + 0xac]
mov eax, dword [esp + 0x14]
push eax
push esi
call fcn.1009c700
fstp qword [ebx]
mov eax, dword [esi + 0x6618]
add esp, 8
inc edi
add ebx, 8
cmp edi, eax
jl 0x100ad949
jmp case.0x100acbe3.299
mov eax, dword [esi + 0x6618]
xor edi, edi
test eax, eax
jle case.0x100acbe3.299
lea ebx, [esp + 0x74]
mov ecx, dword [esp + 0x14]
push ecx
push esi
call fcn.1009c700
fstp qword [ebx]
mov eax, dword [esi + 0x6618]
add esp, 8
inc edi
add ebx, 8
cmp edi, eax
jl 0x100ad980
jmp case.0x100acbe3.299
mov edx, dword [esp + 0x14]
push edx
push esi
call fcn.1009c700
mov eax, dword [esp + 0x1c]
fstp qword [esp + 0x58]
push eax
push esi
call fcn.1009c700
fstp qword [esp + 0x68]
fld qword [0x100cd3f8]
fsub qword [esp + 0x60]
add esp, 0x10
lea ecx, [esp + 0x50]
mov eax, 0x100ea700
fsub qword [esp + 0x58]
fstp qword [esp + 0x60]
fld dword [eax]
fdivr qword [ecx]
add eax, 4
add ecx, 8
cmp eax, 0x100ea70c
fstp qword [ecx - 8]
jl 0x100ad9df
jmp case.0x100acbe3.299
mov eax, dword [esi + 0x65e4]
test eax, eax
jne case.0x100acbe3.299
push esi
call fcn.1009c680
mov ebx, eax
add ebx, edi
push ebx
push esi
call fcn.100ae670
mov edx, dword [esi + 4]
mov ecx, dword [esi]
push 0
push ebx
push edx
call dword [ecx + 8]
push edi
push esi
call fcn.100ac6e0
add esp, 0x20
jmp case.0x100acbe3.299
cmp eax, 0xc68f
ja 0x100adae9
je 0x100adac8
sub eax, 0xc640
je 0x100adab1
sub eax, 0x4d
jne case.0x100acbe3.299
mov eax, dword [esp + 0x14]
push eax
push esi
call fcn.1009c6c0
mov ecx, dword [esp + 0x1c]
mov word [esi + 0x6600], ax
push ecx
push esi
call fcn.1009c6c0
mov edx, dword [esp + 0x24]
mov word [esi + 0x6602], ax
push edx
push esi
call fcn.1009c6c0
sub ax, word [esi + 0x6600]
mov word [esi + 0x65fc], ax
mov eax, dword [esp + 0x2c]
push eax
push esi
call fcn.1009c6c0
add esp, 0x20
sub ax, word [esi + 0x6602]
mov word [esi + 0x65fe], ax
jmp case.0x100acbe3.299
lea ecx, [esi + 0xe6ae]
push 3
push ecx
push esi
call fcn.1009c8d0
add esp, 0xc
jmp case.0x100acbe3.299
mov eax, dword [esi + 4]
mov edx, dword [esi]
push eax
call dword [edx + 0x18]
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [esi + 0x6598], eax
mov dword [esi + 0x65a4], ecx
jmp case.0x100acbe3.299
sub eax, 0xfd04
je 0x100adbe7
sub eax, 5
jne case.0x100acbe3.299
mov ebx, dword [esp + 0x18]
cmp ebx, 0x10
mov dword [esp + 0x3c], ebx
jbe 0x100adb13
mov ebx, 0x10
mov dword [esp + 0x3c], ebx
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push ebx
lea eax, [esp + 0xd0]
push 1
push eax
push ecx
call dword [edx]
xor edi, edi
add esp, 0x10
xor edx, edx
cmp ebx, edi
mov dword [esi + 0x6618], edi
jle 0x100adb86
mov cl, byte [esp + edx + 0xcc]
mov eax, 1
shl eax, cl
mov ecx, edi
and ecx, eax
neg ecx
sbb ecx, ecx
or edi, eax
inc ecx
add dword [esi + 0x6618], ecx
inc edx
cmp edx, ebx
jl 0x100adb37
cmp edi, 0x38
jne 0x100adb77
mov dx, word [0x100fcc84]
mov al, byte [0x100fcc86]
mov word [esp + 0x20], dx
mov byte [esp + 0x22], al
jmp 0x100adb86
cmp edi, 0x3a
jne 0x100adb86
mov ecx, dword [0x100fcc7c]
mov dword [esp + 0x20], ecx
mov edi, dword [esi + 0x6618]
xor eax, eax
test edi, edi
jle 0x100adba4
xor edx, edx
mov dl, byte [esp + eax + 0x20]
mov byte [esp + edx + 0x298], al
inc eax
cmp eax, edi
jl 0x100adb92
mov byte [eax + esi + 0x6250], 0
mov edi, dword [esi + 0x657c]
mov ecx, 0xf
mov eax, ecx
xor edx, edx
div ebx
xor eax, eax
mov al, byte [esp + edx + 0xcc]
xor edx, edx
mov dl, byte [esp + eax + 0x298]
mov eax, edi
shl eax, 2
or edx, eax
mov edi, edx
mov edx, ecx
dec ecx
test edx, edx
jne 0x100adbb7
mov dword [esi + 0x657c], edi
jmp case.0x100acbe3.299
mov ecx, dword [esi + 4]
mov eax, dword [esi]
push 1
push 0x10
push ecx
call dword [eax + 8]
push esi
call fcn.1009c680
mov edx, dword [esi]
mov dword [esi + 0x658c], eax
mov eax, dword [esi + 4]
push 1
push 0x1c
push eax
call dword [edx + 8]
push esi
call fcn.1009c680
mov ecx, dword [esi + 0x658c]
add esp, 0x20
add ecx, eax
mov dword [esi + 0x2e744], 0x100a1fb0
mov dword [esi + 0x658c], ecx
mov edx, dword [esp + 0x68]
mov eax, dword [esi + 4]
mov ecx, dword [esi]
push 0
push edx
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x3c]
add esp, 0xc
mov ecx, eax
dec eax
test ecx, ecx
mov dword [esp + 0x30], eax
jne 0x100ac870
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x100add0d
push ebx
call dword [sym.imp.MSVCRT.dll_malloc]
mov edi, eax
add esp, 4
test edi, edi
je 0x100add0d
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push 0
push eax
push ecx
call dword [edx + 8]
mov eax, dword [esi + 4]
mov edx, dword [esi]
push 1
push ebx
push edi
push eax
call dword [edx]
mov ecx, dword [esp + 0x40]
mov edx, ebx
push ecx
push 1
shr edx, 2
push edx
push edi
call fcn.100a4cb0
mov eax, dword [esi]
mov ecx, dword [esi + 4]
add esp, 0x2c
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esi], 0x100fb820
call dword [sym.imp.MSVCRT.dll_tmpfile]
test eax, eax
mov dword [esi + 4], eax
je 0x100adcf6
mov edx, dword [esi]
push 1
push ebx
push edi
push eax
call dword [edx + 4]
mov ecx, dword [esi + 4]
mov eax, dword [esi]
push 0
push 0
push ecx
call dword [eax + 8]
mov eax, dword [esp + 0x48]
neg eax
push eax
push esi
call fcn.100ac6e0
mov eax, dword [esi + 4]
mov edx, dword [esi]
push eax
call dword [edx + 0xc]
add esp, 0x28
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov dword [esi], ecx
push edi
mov dword [esi + 4], edx
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
mov eax, dword [esi + 0x6618]
test eax, eax
jle 0x100add49
lea edi, [esp + 0x158]
lea ecx, [esp + 0xac]
mov ebx, eax
mov edx, dword [esi + 0x6618]
test edx, edx
jle 0x100add40
mov eax, edi
fld qword [ecx]
fmul qword [eax]
add eax, 8
dec edx
fstp qword [eax - 8]
jne 0x100add33
add ecx, 8
add edi, 0x20
dec ebx
jne 0x100add27
mov eax, dword [esp + 0x34]
test eax, eax
je 0x100addee
mov ecx, dword [esi + 0x6618]
test ecx, ecx
jle 0x100adddd
lea eax, [esp + 0x158]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x1d8]
xor edx, edx
mov dword [esp + 0x24], edx
mov edi, dword [esi + 0x6618]
mov dword [eax], 0
test edi, edi
mov dword [eax + 4], 0
jle 0x100addb8
mov ecx, dword [esp + 0x2c]
lea ebx, [esp + edx + 0x50]
lea edx, [esp + edx + 0x238]
fld qword [edx]
fmul qword [ecx]
add ecx, 8
add edx, 0x18
dec edi
fmul qword [ebx]
fadd qword [eax]
fstp qword [eax]
jne 0x100adda1
mov edx, dword [esp + 0x24]
add edx, 8
add eax, 8
cmp edx, 0x18
mov dword [esp + 0x24], edx
jl 0x100add7b
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
add edx, 0x20
dec ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], ecx
jne 0x100add75
lea ecx, [esp + 0x1d8]
push ecx
push esi
call fcn.100a69d0
add esp, 8
fld qword [esp + 0x74]
fcomp qword [0x100cd3f0]
fnstsw ax
test ah, 0x40
jne 0x100ade35
mov eax, dword [esi + 0x6618]
xor edx, edx
test eax, eax
mov dword [esi + 0xe6c8], edx
jle 0x100ade35
lea ecx, [esp + 0x74]
lea eax, [esi + 0xe6bc]
fld qword [ecx]
fdivr dword [0x100cd3e0]
inc edx
add eax, 4
add ecx, 8
fstp dword [eax - 4]
cmp edx, dword [esi + 0x6618]
jl 0x100ade1b
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x100ade6c
mov eax, dword [esi + 0x6618]
xor edx, edx
test eax, eax
jle 0x100ade6c
lea ecx, [esp + 0x158]
lea eax, [esi + 0xe6cc]
fld qword [ecx]
fdivr dword [eax]
inc edx
add eax, 4
add ecx, 0x28
fstp dword [eax - 4]
cmp edx, dword [esi + 0x6618]
jl 0x100ade56
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret