Function at 0x100bb840
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 0x100bb963
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 0x100bb97d
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 0x100bb97d
inc edi
cmp edi, 4
jl 0x100bb97b
push esi
call fcn.100ab840
and eax, 0xffff
add esp, 4
cmp eax, 0x200
jbe 0x100bb9bf
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 0x100bce69
jmp 0x100bb9d4
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.100b9970
mov eax, dword [esp + 0x50]
add esp, 0x18
cmp eax, 0x827d
ja 0x100bc1f0
je 0x100bc1d6
cmp eax, 0x117
ja 0x100bbd1c
je 0x100bbff6
cmp eax, 0x102
ja 0x100bbc2e
je 0x100bbc02
cmp eax, 0x26
ja 0x100bbaed
cmp eax, 0x24
jae 0x100bbac7
add eax, 0xfffffffe
cmp eax, 0x15
ja case.0x100bbd43.299
xor ecx, ecx
mov cl, byte [eax + 0x100bcfe8]
jmp dword [ecx*4 + 0x100bcfd4]
cmp dword [esp + 0x14], 3
jne case.0x100bbd43.299
cmp dword [esp + 0x18], 1
jne case.0x100bbd43.299
push esi
call fcn.100ab840
add esp, 4
and eax, 0xffff
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x38]
fild dword [esp + 0x10]
fmul dword [0x1013e6d4]
fstp dword [esi + edx*8 + 0xe634]
jmp case.0x100bbd43.299
cmp dword [esp + 0x14], 3
jne case.0x100bbd43.299
push esi
call fcn.100ab840
add esp, 4
and eax, 0xffff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esi + 0x6560]
jmp case.0x100bbd43.299
push esi
call fcn.100ab840
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.0x100bbd43.299
add eax, 0xffffffd9
cmp eax, 0xda
ja case.0x100bbd43.299
xor ecx, ecx
mov cl, byte [eax + 0x100bd014]
jmp dword [ecx*4 + 0x100bd000]
cmp dword [esp + 0x18], 0x32
jb case.0x100bbd43.299
fld dword [esi + 0xe6bc]
fcomp dword [0x10136e8c]
lea edi, [esi + 0xe6bc]
fnstsw ax
test ah, 0x40
je case.0x100bbd43.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.100ab840
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 0x100bbb47
jmp case.0x100bbd43.299
cmp dword [esp + 0x14], 7
jne case.0x100bbd43.299
mov edx, dword [esi + 4]
mov ecx, dword [esi]
push edx
call dword [ecx + 0x1c]
add esp, 4
cmp eax, 0xff
jne case.0x100bbd43.299
mov ecx, dword [esi + 4]
mov eax, dword [esi]
push ecx
call dword [eax + 0x1c]
add esp, 4
cmp eax, 0xd8
jne case.0x100bbd43.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.0x100bbd43.299
mov edx, dword [esp + 0x14]
push edx
push esi
call fcn.100ab920
lea ecx, [ebx + ebx*8 + 0x1830]
add esp, 8
mov dword [esi + ecx*4], eax
jmp case.0x100bbd43.299
mov edx, dword [esp + 0x14]
push edx
push esi
call fcn.100ab920
lea ecx, [ebx + ebx*8]
add esp, 8
mov dword [esi + ecx*4 + 0x60c4], eax
jmp case.0x100bbd43.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.100ab840
add esp, 4
and eax, 0xffff
mov dword [ebx + 0x60c8], eax
jmp case.0x100bbd43.299
add eax, 0xfffffefd
cmp eax, 0x12
ja case.0x100bbd43.299
xor ecx, ecx
mov cl, byte [eax + 0x100bd114]
jmp dword [ecx*4 + 0x100bd0f0]
push esi
call fcn.100ab840
add esp, 4
lea edx, [ebx + ebx*8]
and eax, 0xffff
mov dword [esi + edx*4 + 0x60cc], eax
jmp case.0x100bbd43.299
push esi
call fcn.100ab840
add esp, 4
lea ecx, [ebx + ebx*8]
and eax, 0xffff
mov dword [esi + ecx*4 + 0x60d0], eax
jmp case.0x100bbd43.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.0x100bbd43.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.0x100bbd43.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.0x100bbd43.299
push esi
call fcn.100ab840
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.0x100bbd43.299
mov ecx, dword [esp + 0x14]
push ecx
push esi
call fcn.100ab920
add esp, 8
lea edx, [ebx + ebx*8]
and eax, 7
mov dword [esi + edx*4 + 0x60dc], eax
jmp case.0x100bbd43.299
cmp eax, 0x190
ja 0x100bbfc6
je 0x100bbfa0
add eax, 0xfffffedd
cmp eax, 0x27
ja case.0x100bbd43.299
xor ecx, ecx
mov cl, byte [eax + 0x100bd14c]
jmp dword [ecx*4 + 0x100bd128]
mov ecx, dword [esi + 4]
mov edx, dword [esi]
lea eax, [esp + 0xdc]
push 0x40
push eax
push ecx
call dword [edx + 0x10]
push 5
lea edx, [esp + 0xec]
push str.Adobe
push edx
call fcn.1002f3f0
add esp, 0x18
test eax, eax
je 0x100bbe0e
push 5
lea eax, [esp + 0xe0]
push str.dcraw
push eax
call fcn.1002f3f0
add esp, 0xc
test eax, eax
je 0x100bbe0e
push 6
lea ecx, [esp + 0xe0]
push str.Bibble
push ecx
call fcn.1002f3f0
add esp, 0xc
test eax, eax
je 0x100bbe0e
push 0xa
lea edx, [esp + 0xe0]
push str.Nikon_Scan
push edx
call fcn.1002f3f0
add esp, 0xc
test eax, eax
je 0x100bbe0e
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 0x100bbe01
test cl, cl
je 0x100bbdfd
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x100bbe01
add eax, 2
add edi, 2
test cl, cl
jne 0x100bbdd9
xor eax, eax
jmp 0x100bbe06
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne case.0x100bbd43.299
mov dword [esi + 0x65e0], 0
jmp case.0x100bbd43.299
push 0
push esi
call fcn.100bace0
add esp, 8
jmp case.0x100bbd43.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.0x100bbd43.299
mov eax, dword [esp + 0x14]
push eax
push esi
call fcn.100ab920
add esp, 8
mov dword [esi + 0x65f0], eax
jmp case.0x100bbd43.299
mov ecx, dword [esp + 0x14]
push ecx
push esi
call fcn.100ab920
add esp, 8
mov dword [esi + 0x65f4], eax
jmp case.0x100bbd43.299
cmp dword [esp + 0x18], 1
jbe 0x100bbe8c
mov eax, dword [esi + 4]
mov edx, dword [esi]
push eax
call dword [edx + 0x18]
jmp 0x100bbe92
push esi
call fcn.100ab8e0
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.0x100bbd43.299
mov dword [esi + 0x2e744], 0x100b0f10
mov dword [esi + 0x65e0], 5
jmp case.0x100bbd43.299
mov eax, str.DSLR_A100
lea edi, [esi + 0x6495]
mov dl, byte [edi]
mov cl, dl
cmp dl, byte [eax]
jne 0x100bbef4
test cl, cl
je 0x100bbef0
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x100bbef4
add edi, 2
add eax, 2
test cl, cl
jne 0x100bbed0
xor eax, eax
jmp 0x100bbef9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100bbf2b
lea eax, [ebx + ebx*8 + 0x1830]
cmp dword [esi + eax*4], 0xf20
jne 0x100bbf2b
push esi
call fcn.100ab8e0
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.0x100bbd43.299
mov eax, dword [esp + 0x18]
mov ecx, eax
dec eax
test ecx, ecx
mov dword [esp + 0x18], eax
je case.0x100bbd43.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.100ab8e0
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.100bb840
add esp, 0x14
test eax, eax
jne case.0x100bbd43.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 0x100bbf3e
jmp case.0x100bbd43.299
mov eax, dword [str.Sarnoff]
mov dword [esi + 0x6455], eax
mov ecx, dword [0x1017512c]
mov dword [esi + 0x6459], ecx
mov dword [esi + 0x65c8], 0xfff
jmp case.0x100bbd43.299
cmp eax, 0x7201
ja 0x100bc158
je 0x100bc146
cmp eax, 0x7010
ja 0x100bc129
je 0x100bc0b5
sub eax, 0x201
je case.0x100bbc44.264
dec eax
jne case.0x100bbd43.299
push esi
call fcn.100ab8e0
lea edx, [ebx + ebx*8]
add esp, 4
mov dword [esi + edx*4 + 0x60e0], eax
jmp case.0x100bbd43.299
push esi
call fcn.100ab8e0
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.0x100bbd43.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.100ad140
add esp, 0x18
test eax, eax
je case.0x100bbd43.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.0x100bbd43.299
lea ebx, [esp + 0x98]
mov edi, 4
push esi
call fcn.100ab840
shr eax, 2
and eax, 0xfff
add esp, 4
mov dword [ebx], eax
add ebx, 4
dec edi
jne 0x100bc0c1
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 0x100bc113
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 0x100bc102
mov eax, dword [esp + 0x10]
inc ecx
add eax, 4
cmp ecx, 5
mov dword [esp + 0x10], eax
jl 0x100bc0e7
jmp case.0x100bbd43.299
cmp eax, 0x7200
jne case.0x100bbd43.299
push esi
call fcn.100ab8e0
add esp, 4
mov dword [esp + 0x2c], eax
jmp case.0x100bbd43.299
push esi
call fcn.100ab8e0
add esp, 4
mov dword [esp + 0x28], eax
jmp case.0x100bbd43.299
sub eax, 0x7221
je 0x100bc1c4
sub eax, 0x2f
je 0x100bc1a3
sub eax, 0xb3
jne case.0x100bbd43.299
xor edi, edi
push esi
call fcn.100ab840
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 0x100bc171
jmp case.0x100bbd43.299
mov eax, dword [esi + 4]
mov edx, dword [esi]
push eax
call dword [edx + 0x18]
push eax
push esi
call fcn.100bd7d0
add esp, 0xc
mov word [esi + 0x65fa], 0
jmp case.0x100bbd43.299
push esi
call fcn.100ab8e0
add esp, 4
mov dword [esp + 0x24], eax
jmp case.0x100bbd43.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.0x100bbd43.299
cmp eax, 0xc612
ja 0x100bc896
je 0x100bc86c
cmp eax, 0x8773
ja 0x100bc418
je 0x100bcc27
cmp eax, 0x85ff
ja 0x100bc294
je 0x100bc3c7
add eax, 0xffff7d72
cmp eax, 0xf
ja case.0x100bbd43.299
xor ecx, ecx
mov cl, byte [eax + 0x100bd188]
jmp dword [ecx*4 + 0x100bd174]
mov ebx, dword [esi]
push 0
push esi
call fcn.100ab8e0
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.100bb610
add esp, 0x14
jmp case.0x100bbd43.299
mov eax, dword [esp + 0x14]
push eax
push esi
call fcn.100ab960
fstp dword [esi + 0x6564]
add esp, 8
jmp case.0x100bbd43.299
mov ecx, dword [esp + 0x14]
push ecx
push esi
call fcn.100ab960
fstp dword [esi + 0x6568]
add esp, 8
jmp case.0x100bbd43.299
cmp eax, 0x8606
ja 0x100bc3e7
je 0x100bc3b4
sub eax, 0x8602
je 0x100bc37f
dec eax
jne case.0x100bbd43.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 fcn.1002f3f0
add esp, 0x1c
test eax, eax
jne case.0x100bbd43.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 0x1016a124
push edx
call dword [ecx + 0x20]
add esp, 0xc
inc edi
cmp edi, 4
jl 0x100bc308
mov eax, dword [esi + 0xac]
test eax, eax
je 0x100bc367
mov edx, dword [esp + 0x10]
mov ecx, 4
fld qword [0x101308b8]
mov eax, edx
fadd dword [eax]
add eax, 4
dec ecx
jne 0x100bc349
mov eax, edx
mov ecx, 4
fld dword [eax]
fdiv st(1)
add eax, 4
dec ecx
fstp dword [eax - 4]
jne 0x100bc358
fstp st(0)
mov ecx, dword [esp + 0x10]
add ebx, 4
add ecx, 0x10
cmp ebx, 0xc
mov dword [esp + 0x10], ecx
jl 0x100bc306
jmp case.0x100bbd43.299
xor edi, edi
push esi
call fcn.100ab840
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 [0x1013e704]
fstp dword [esi + eax*4 + 0xe6bc]
jl 0x100bc381
jmp case.0x100bbd43.299
mov edx, dword [esi + 4]
mov ecx, dword [esi]
push edx
call dword [ecx + 0x18]
push eax
push esi
call fcn.100bb0b0
add esp, 0xc
mov ecx, dword [str.Leaf]
lea eax, [esi + 0x6455]
mov dword [esi + 0x6455], ecx
mov dl, byte [0x1017430c]
mov byte [eax + 4], dl
jmp case.0x100bbd43.299
cmp eax, 0x8769
jne case.0x100bbd43.299
mov ebx, dword [esi]
push 0
push esi
call fcn.100ab8e0
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.100badb0
add esp, 0x14
jmp case.0x100bbd43.299
cmp eax, 0xb4c3
ja 0x100bc540
je 0x100bc4fb
cmp eax, 0x9211
ja 0x100bc48a
je 0x100bc471
cmp eax, 0x9102
je 0x100bc45d
cmp eax, 0x920a
jne case.0x100bbd43.299
mov ecx, dword [esp + 0x14]
push ecx
push esi
call fcn.100ab960
fstp dword [esi + 0x656c]
add esp, 8
jmp case.0x100bbd43.299
push esi
call fcn.100ab8e0
add esp, 4
mov dword [esi + 0x6578], eax
jmp case.0x100bbd43.299
mov edx, dword [esp + 0x14]
push edx
push esi
call fcn.100ab920
add esp, 8
mov dword [esi + 0x6574], eax
jmp case.0x100bbd43.299
cmp eax, 0x9218
jne case.0x100bbd43.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.100ab960
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.100ab960
fstp dword [edi]
add esp, 8
add edi, 4
dec ebx
jne 0x100bc4ca
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 0x100bc4b1
jmp case.0x100bbd43.299
mov ecx, dword [str.Imacon]
lea eax, [esi + 0x6455]
mov dword [esi + 0x6455], ecx
mov dx, word [0x1017511c]
mov word [eax + 4], dx
mov cl, byte [0x1017511e]
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.0x100bbd43.299
cmp eax, 0xc517
ja 0x100bc7e5
cmp eax, 0xc516
jae 0x100bc74f
cmp eax, 0xb4c7
jne case.0x100bbd43.299
mov eax, dword [esi + 4]
mov edx, dword [esi]
push 1
push 0x4e
push eax
call dword [edx + 8]
push esi
call fcn.100ab8e0
push esi
mov word [esi + 0x65fa], ax
call fcn.100ab8e0
push esi
mov word [esi + 0x65f8], ax
call fcn.100ab8e0
and eax, 7
push esi
mov word [esi + 0x6602], ax
call fcn.100ab8e0
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.100ab8e0
and eax, 7
push esi
mov word [esi + 0x6600], ax
call fcn.100ab8e0
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 0x100bc613
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.100ab960
fstp dword [edi]
add esp, 8
add edi, 4
dec ebx
jne 0x100bc62e
mov eax, dword [esi + 4]
mov edx, dword [esi]
push 1
push 0x72
push eax
call dword [edx + 8]
push esi
call fcn.100ab840
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 0x100bc6d4
cdq
mov ecx, 0xb4
idiv ecx
cmp edx, 0x5a
jne 0x100bc6c6
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 fcn.1002f428
mov eax, dword [esi + 0x657c]
add esp, 0xc
test eax, eax
mov dword [esi + 0x2e744], 0x100b1160
je 0x100bc740
test byte [esi + 0x6602], 1
je 0x100bc736
mov dword [esi + 0x657c], 0x61616161
mov dword [esi + 0x2e744], fcn.100b1340
mov dword [esi + 0x65c8], 0xffff
jmp case.0x100bbd43.299
mov edx, dword [esp + 0x18]
push edx
call fcn.1002e5f3
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x100bbd43.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 0x100bc7d7
mov eax, dword [esp + 0x18]
lea ecx, [ebx + eax]
cmp edi, ecx
jae 0x100bc7d7
inc edi
push 8
push str.Neutral
push edi
call fcn.1002f3f0
add esp, 0xc
test eax, eax
jne 0x100bc7c6
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 fcn.1011ca3f
add esp, 0x14
push 0xa
push edi
call fcn.1002fd40
mov edi, eax
add esp, 8
test edi, edi
jne 0x100bc780
push ebx
call fcn.1002e4db
add esp, 4
jmp case.0x100bbd43.299
cmp eax, 0xc51b
jne case.0x100bbd43.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.100ab840
push esi
mov word [esi + 0x6244], ax
call fcn.100ab840
mov ebx, dword [esi]
add esp, 0xc
push 0
push esi
call fcn.100ab8e0
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.100bb840
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.0x100bbd43.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 0x100bc871
jmp case.0x100bbd43.299
cmp eax, 0xc634
ja 0x100bcb91
je 0x100bcb57
add eax, 0xffff39ea
cmp eax, 0x13
ja case.0x100bbd43.299
xor edx, edx
mov dl, byte [eax + 0x100bd1c8]
jmp dword [edx*4 + 0x100bd198]
mov eax, dword [esp + 0x18]
cmp eax, 4
jbe 0x100bc8d6
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 0x100bcce5
push esi
call fcn.100ab840
add esp, 4
cmp ax, 2
jne case.0x100bbd43.299
mov word [esi + 0x660a], 1
mov dword [esi + 0x657c], 0x49494949
jmp case.0x100bbd43.299
mov ecx, dword [esp + 0x18]
push ecx
push esi
call fcn.100bb5b0
add esp, 8
jmp case.0x100bbd43.299
mov eax, dword [esp + 0x18]
xor edi, edi
test eax, eax
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
jle 0x100bc967
mov edx, dword [esp + 0x14]
push edx
push esi
call fcn.100ab960
fadd qword [esp + 0x50]
mov eax, dword [esp + 0x20]
add esp, 8
inc edi
cmp edi, eax
fstp qword [esp + 0x48]
jl 0x100bc948
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 0
fild qword [esp + 0x6c]
fdivr qword [esp + 0x48]
fadd qword [0x101308c0]
call fcn.1002fe10
add dword [esi + 0x65c4], eax
jmp case.0x100bbd43.299
mov eax, dword [esp + 0x14]
push eax
push esi
call fcn.100ab920
add esp, 8
mov dword [esi + 0x65c8], eax
jmp case.0x100bbd43.299
mov ecx, dword [esp + 0x14]
push ecx
push esi
call fcn.100ab960
mov edx, dword [esp + 0x1c]
fstp qword [esi + 0x6620]
push edx
push esi
call fcn.100ab960
fdivr qword [esi + 0x6620]
add esp, 0x10
fstp qword [esi + 0x6620]
jmp case.0x100bbd43.299
mov eax, dword [esi + 0x6618]
mov dword [esp + 0x1c], 0
test eax, eax
jle 0x100bca21
lea edi, [esp + 0x238]
mov ebx, 3
mov eax, dword [esp + 0x14]
push eax
push esi
call fcn.100ab960
fstp qword [edi]
add esp, 8
add edi, 8
dec ebx
jne 0x100bc9f8
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + 0x6618]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x100bc9f3
mov dword [esp + 0x34], 1
jmp case.0x100bbd43.299
mov eax, dword [esi + 0x6618]
mov dword [esp + 0x10], 0
test eax, eax
jle case.0x100bc8bd.50718
lea ecx, [esp + 0x158]
mov dword [esp + 0x1c], ecx
xor edi, edi
test eax, eax
jle 0x100bca73
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push edx
push esi
call fcn.100ab960
fstp qword [ebx]
mov eax, dword [esi + 0x6618]
add esp, 8
inc edi
add ebx, 8
cmp edi, eax
jl 0x100bca55
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 0x100bca4b
mov eax, dword [esi + 0x6618]
xor edi, edi
test eax, eax
jle case.0x100bbd43.299
lea ebx, [esp + 0xac]
mov eax, dword [esp + 0x14]
push eax
push esi
call fcn.100ab960
fstp qword [ebx]
mov eax, dword [esi + 0x6618]
add esp, 8
inc edi
add ebx, 8
cmp edi, eax
jl 0x100bcaa8
jmp case.0x100bbd43.299
mov eax, dword [esi + 0x6618]
xor edi, edi
test eax, eax
jle case.0x100bbd43.299
lea ebx, [esp + 0x74]
mov ecx, dword [esp + 0x14]
push ecx
push esi
call fcn.100ab960
fstp qword [ebx]
mov eax, dword [esi + 0x6618]
add esp, 8
inc edi
add ebx, 8
cmp edi, eax
jl 0x100bcadf
jmp case.0x100bbd43.299
mov edx, dword [esp + 0x14]
push edx
push esi
call fcn.100ab960
mov eax, dword [esp + 0x1c]
fstp qword [esp + 0x58]
push eax
push esi
call fcn.100ab960
fstp qword [esp + 0x68]
fld qword [0x10136eb0]
fsub qword [esp + 0x60]
add esp, 0x10
lea ecx, [esp + 0x50]
mov eax, 0x1013b410
fsub qword [esp + 0x58]
fstp qword [esp + 0x60]
fld dword [eax]
fdivr qword [ecx]
add eax, 4
add ecx, 8
cmp eax, 0x1013b41c
fstp qword [ecx - 8]
jl 0x100bcb3e
jmp case.0x100bbd43.299
mov eax, dword [esi + 0x65e4]
test eax, eax
jne case.0x100bbd43.299
push esi
call fcn.100ab8e0
mov ebx, eax
add ebx, edi
push ebx
push esi
call fcn.100bd7d0
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.100bb840
add esp, 0x20
jmp case.0x100bbd43.299
cmp eax, 0xc68f
ja 0x100bcc48
je 0x100bcc27
sub eax, 0xc640
je 0x100bcc10
sub eax, 0x4d
jne case.0x100bbd43.299
mov eax, dword [esp + 0x14]
push eax
push esi
call fcn.100ab920
mov ecx, dword [esp + 0x1c]
mov word [esi + 0x6600], ax
push ecx
push esi
call fcn.100ab920
mov edx, dword [esp + 0x24]
mov word [esi + 0x6602], ax
push edx
push esi
call fcn.100ab920
sub ax, word [esi + 0x6600]
mov word [esi + 0x65fc], ax
mov eax, dword [esp + 0x2c]
push eax
push esi
call fcn.100ab920
add esp, 0x20
sub ax, word [esi + 0x6602]
mov word [esi + 0x65fe], ax
jmp case.0x100bbd43.299
lea ecx, [esi + 0xe6ae]
push 3
push ecx
push esi
call fcn.100abb30
add esp, 0xc
jmp case.0x100bbd43.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.0x100bbd43.299
sub eax, 0xfd04
je 0x100bcd46
sub eax, 5
jne case.0x100bbd43.299
mov ebx, dword [esp + 0x18]
cmp ebx, 0x10
mov dword [esp + 0x3c], ebx
jbe 0x100bcc72
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 0x100bcce5
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 0x100bcc96
cmp edi, 0x38
jne 0x100bccd6
mov dx, word [0x101750ec]
mov al, byte [0x101750ee]
mov word [esp + 0x20], dx
mov byte [esp + 0x22], al
jmp 0x100bcce5
cmp edi, 0x3a
jne 0x100bcce5
mov ecx, dword [0x101750e4]
mov dword [esp + 0x20], ecx
mov edi, dword [esi + 0x6618]
xor eax, eax
test edi, edi
jle 0x100bcd03
xor edx, edx
mov dl, byte [esp + eax + 0x20]
mov byte [esp + edx + 0x298], al
inc eax
cmp eax, edi
jl 0x100bccf1
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 0x100bcd16
mov dword [esi + 0x657c], edi
jmp case.0x100bbd43.299
mov ecx, dword [esi + 4]
mov eax, dword [esi]
push 1
push 0x10
push ecx
call dword [eax + 8]
push esi
call fcn.100ab8e0
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.100ab8e0
mov ecx, dword [esi + 0x658c]
add esp, 0x20
add ecx, eax
mov dword [esi + 0x2e744], 0x100b11c0
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 0x100bb9d0
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x100bce69
push ebx
call fcn.1002e5f3
mov edi, eax
add esp, 4
test edi, edi
je 0x100bce69
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.100b3ea0
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], 0x10173c90
call fcn.1011ccae
test eax, eax
mov dword [esi + 4], eax
je 0x100bce53
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.100bb840
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 fcn.1002e4db
add esp, 4
mov eax, dword [esi + 0x6618]
test eax, eax
jle 0x100bcea5
lea edi, [esp + 0x158]
lea ecx, [esp + 0xac]
mov ebx, eax
mov edx, dword [esi + 0x6618]
test edx, edx
jle 0x100bce9c
mov eax, edi
fld qword [ecx]
fmul qword [eax]
add eax, 8
dec edx
fstp qword [eax - 8]
jne 0x100bce8f
add ecx, 8
add edi, 0x20
dec ebx
jne 0x100bce83
mov eax, dword [esp + 0x34]
test eax, eax
je 0x100bcf4a
mov ecx, dword [esi + 0x6618]
test ecx, ecx
jle 0x100bcf39
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 0x100bcf14
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 0x100bcefd
mov edx, dword [esp + 0x24]
add edx, 8
add eax, 8
cmp edx, 0x18
mov dword [esp + 0x24], edx
jl 0x100bced7
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 0x100bced1
lea ecx, [esp + 0x1d8]
push ecx
push esi
call fcn.100b5ba0
add esp, 8
fld qword [esp + 0x74]
fcomp qword [0x101308b8]
fnstsw ax
test ah, 0x40
jne 0x100bcf91
mov eax, dword [esi + 0x6618]
xor edx, edx
test eax, eax
mov dword [esi + 0xe6c8], edx
jle 0x100bcf91
lea ecx, [esp + 0x74]
lea eax, [esi + 0xe6bc]
fld qword [ecx]
fdivr dword [0x10136e98]
inc edx
add eax, 4
add ecx, 8
fstp dword [eax - 4]
cmp edx, dword [esi + 0x6618]
jl 0x100bcf77
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x100bcfc8
mov eax, dword [esi + 0x6618]
xor edx, edx
test eax, eax
jle 0x100bcfc8
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 0x100bcfb2
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret