Function at 0x10006000
Capabilities:
Compress data via zlib inflate or deflate

Disassembly:
push ebx
mov ebx, esp
mov eax, dword [ebx + 0x14]
sub esp, 0xdc
push ebp
lea ecx, [eax + 0x1d88]
push esi
cmp eax, ecx
push edi
mov dword [ebx - 0x14], eax
mov dword [ebx - 0x30], ecx
ja 0x10006785
mov ebp, eax
mov esi, dword [ebx - 8]
mov edi, dword [ebx - 0x1c]
jmp 0x10006030
mov ecx, dword [0x10045a20]
cmp ebp, 0x29d7
ja 0x10006686
je 0x1000623e
cmp ebp, 0x5bc
ja 0x100060ea
je 0x100060db
cmp ebp, 0x4c0
ja 0x100060a7
je 0x10006091
mov eax, ebp
sub eax, 0x418
je 0x10006085
sub eax, 0x54
jne case.0x10006102.10376
mov eax, dword [ebx + 8]
mov dword [eax + 0x4c], 0x10038288
jmp case.0x10006102.10376
mov dword [ebx - 0x2c], 0
jmp case.0x10006102.10376
mov ecx, dword [ebx + 8]
mov dword [ecx + 0x54], 9
mov dword [ebx - 0x28], 0
jmp case.0x10006102.10376
mov eax, ebp
sub eax, 0x514
je 0x100060cc
sub eax, 0x54
jne case.0x10006102.10376
mov edx, dword [ebx - 0x28]
mov eax, dword [ebx - 0x2c]
push edx
push eax
call dword [sym.imp.ole32.dll_OleNoteObjectVisible]
jmp case.0x10006102.10376
mov ecx, dword [ebx + 8]
mov dword [ecx + 0x50], 0x10038a88
jmp case.0x10006102.10376
mov edx, dword [ebx + 8]
mov dword [edx + 0x58], 5
jmp case.0x10006102.10376
lea eax, [ebp - 0x2887]
cmp eax, 0xfc
ja case.0x10006102.10376
movzx eax, byte [eax + 0x100069b4]
jmp dword [eax*4 + 0x100069a0]
mov edx, dword [0x10046124]
neg edx
sbb edx, edx
and edx, 0xeb0
inc edx
cmp ecx, edx
jge case.0x10006102.10376
push 0x10037da0
push str.Sorry__hebcal_can_only_handle_dates_in_the_common_era.
call fcn.100128d0
add esp, 8
jmp case.0x10006102.10376
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax]
mov dword [0x10046868], ecx
call fcn.1001bb70
jmp case.0x10006102.10376
push str.HEBCAL_OPTS
call fcn.1001d941
mov edi, eax
mov dword [ebx - 0x10], edi
add esp, 4
test edi, edi
je 0x1000621d
mov ecx, 0x10037da0
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10006190
test dl, dl
je 0x1000618c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10006190
sub eax, 0xfffffffe
sub ecx, 0xfffffffe
or dl, dl
jne 0x10006170
xor eax, eax
jmp 0x10006195
sbb eax, eax
sbb eax, 0xffffffff
or eax, eax
je 0x1000621d
mov ebp, 0x2fa2
mov eax, ebp
sub eax, 0x2fa2
je 0x100061f7
sub eax, 0x1e
je 0x100061c9
sub eax, 0x1e
jne 0x10006207
lea eax, [ebx - 0xdc]
mov edx, dword [ebx - 0x24]
push edx
call fcn.1000bce0
add esp, 4
jmp 0x10006207
mov eax, dword [ebx + 8]
cmp dword [eax], 1
jle 0x10006207
mov esi, dword [ebx + 0xc]
mov ecx, eax
mov eax, dword [ecx]
dec eax
mov edx, dword [ebx - 0x24]
add esi, 4
mov ecx, eax
lea edi, [ebx + edx*4 - 0xdc]
add edx, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebx - 0x10]
mov esi, dword [ebx - 8]
mov dword [ebx - 0x24], edx
jmp 0x10006207
mov edx, edi
lea eax, [ebx - 0xdc]
lea ecx, [ebx - 0x24]
call fcn.10017a90
add ebp, 0x1e
cmp ebp, 0x2fde
jbe 0x100061a2
mov edi, dword [ebx - 0x1c]
mov ebp, dword [ebx - 0x14]
jmp case.0x10006102.10376
mov edx, dword [ebx + 8]
mov eax, dword [edx]
push eax
mov eax, dword [ebx + 0xc]
call fcn.1000bce0
add esp, 4
mov edi, dword [ebx - 0x1c]
jmp case.0x10006102.10376
mov dword [ebx - 4], ecx
jmp case.0x10006102.10376
mov eax, dword [0x10045a18]
cmp eax, 3
ja case.default.0x1000624c
jmp dword [eax*4 + 0x10006ab4]
xor edi, edi
mov ebp, dword [ebx - 0xc]
cmp edi, 0x9c
ja case.0x10006267.1
movzx edx, byte [edi + 0x10006ad8]
jmp dword [edx*4 + 0x10006ac4]
mov dword [0x1004682c], 1
jmp case.0x10006267.1
add esp, 0xfffffff4
mov eax, esp
mov dword [eax], ebp
mov dword [eax + 4], esi
mov dword [ebx - 4], ecx
mov dword [eax + 8], ecx
call fcn.1001a540
mov ecx, dword [0x10045a20]
sub esp, 0xfffffff4
mov dword [ebx - 0x18], eax
mov dword [ebx + 0x14], eax
jmp case.0x10006267.1
mov esi, dword [0x1004683c]
mov ebp, dword [0x10046850]
mov dword [ebx - 8], esi
mov dword [ebx - 0xc], ebp
sub edi, 0xffffffcc
lea eax, [edi + 0x7709]
cmp eax, 0x77a5
jbe 0x10006258
xor ebp, ebp
cmp ebp, 0x68
ja case.0x100062d0.1
movzx edx, byte [ebp + 0x10006b90]
jmp dword [edx*4 + 0x10006b78]
mov dword [ebx - 4], ecx
jmp case.0x100062d0.1
mov ecx, dword [ebx - 0xc]
mov edx, dword [ebx - 4]
add esp, 0xfffffff4
cmp dword [0x10046124], 0
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], esi
mov dword [eax + 8], edx
je 0x1000630e
call fcn.10010cf0
mov ecx, dword [0x10045a20]
mov dword [ebx - 0x18], eax
add esp, 0xc
mov dword [ebx + 0x14], eax
jmp case.0x100062d0.1
call fcn.1001a540
mov ecx, dword [0x10045a20]
mov dword [ebx - 0x18], eax
mov dword [ebx + 0x14], eax
sub esp, 0xfffffff4
jmp case.0x100062d0.1
mov dword [0x1004682c], 1
jmp case.0x100062d0.1
mov eax, dword [0x10046850]
mov esi, dword [0x1004683c]
mov dword [ebx - 0xc], eax
add ebp, 0x1a
lea edx, [ebp + 0x5e73]
cmp edx, 0x5edb
jbe 0x100062c4
mov dword [ebx - 8], esi
mov ebp, dword [ebx - 0xc]
mov eax, 0x4e75
mov dword [ebx - 0x10], eax
sub eax, 0x4e75
je 0x100064ca
sub eax, 0x10
je 0x1000637f
sub eax, 0x10
je case.0x10006267.156
jmp 0x100064db
cmp dword [0x10046124], 0
mov edi, ecx
mov dword [ebx - 4], edi
je 0x100063fb
mov ebp, 0x244f
mov edi, dword [ebx - 0xc]
mov eax, ebp
sub eax, 0x244f
je 0x100063c7
sub eax, 0x31
jne 0x100063e2
mov eax, dword [ebx - 4]
push eax
push edi
call fcn.10016cd0
push ecx
mov ecx, dword [ebx - 4]
mov esi, eax
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [eax + 8], ecx
call fcn.10010cf0
mov dword [ebx - 0x18], eax
jmp 0x100063df
add esp, 0xfffffff4
mov eax, esp
mov edx, dword [ebx - 4]
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [eax + 8], edx
call fcn.10010cf0
mov dword [ebx + 0x14], eax
add esp, 0xc
sub ebp, 0xffffffcf
cmp ebp, 0x2480
jbe 0x10006395
mov ebp, dword [ebx - 0xc]
mov ecx, dword [0x10045a20]
jmp 0x100064d8
mov eax, 0x5fb8
mov dword [ebx - 0x14], eax
sub eax, 0x5fb8
je 0x10006436
sub eax, 0xe
jne 0x100064b4
add esp, 0xfffffff4
mov eax, esp
mov dword [eax], ebp
mov dword [eax + 4], esi
mov dword [eax + 8], edi
call fcn.1001a540
mov ecx, dword [0x10045a20]
sub esp, 0xfffffff4
mov dword [ebx - 0x18], eax
jmp 0x100064b4
add esp, 0xfffffff4
mov eax, esp
mov dword [eax], ebp
mov dword [eax + 4], esi
mov dword [eax + 8], edi
call fcn.1001a540
mov ecx, dword [0x10045a20]
add esp, 0xc
mov dword [ebx + 0x14], eax
mov eax, ecx
and eax, 0x80000003
jns 0x10006462
dec eax
or eax, 0xfffffffc
inc eax
jne 0x100064a2
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, ecx
imul esi, esi, 0x64
sub edx, esi
jne 0x1000649b
mov eax, 0x51eb851f
imul ecx
sar edx, 7
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, ecx
imul esi, esi, 0x190
sub edx, esi
jne 0x100064a2
mov eax, 1
jmp 0x100064a4
xor eax, eax
imul eax, eax, 0xd
add eax, dword [0x10046850]
mov esi, dword [eax*4 + 0x10043408]
mov eax, dword [ebx - 0x14]
add eax, 0xe
cmp eax, 0x5fc6
mov dword [ebx - 0x14], eax
jbe 0x10006403
jmp 0x100064d8
mov ebp, dword [0x10046850]
mov dword [ebx - 0xc], ebp
mov esi, 1
mov dword [ebx - 8], esi
mov eax, dword [ebx - 0x10]
sub eax, 0xfffffff0
mov dword [ebx - 0x10], eax
cmp eax, 0x4e95
jbe 0x10006361
mov eax, 0x35f4
cmp eax, eax
je 0x10006531
sub eax, 0xffffffe6
cmp eax, 0x35f4
jbe 0x100064f6
lea esp, [esp]
xor edi, edi
mov ebp, 0x2191
mov eax, ebp
sub eax, 0x2191
je 0x10006653
sub eax, 0x50
jne 0x10006665
mov dword [ebx - 0x18], edi
mov dword [ebx + 0x14], edi
jmp 0x10006665
mov edi, dword [ebx - 4]
xor ebp, ebp
cmp dword [0x10046124], ebp
je 0x100065e0
lea esp, [esp]
mov dword [ebx - 0x10], 5
cmp ebp, 0x7c
ja case.0x1000655c.1
movzx eax, byte [ebp + 0x10006c14]
jmp dword [eax*4 + 0x10006bfc]
inc edi
jmp case.0x1000655c.1
dec dword [ebx + 0x14]
jmp case.0x1000655c.1
mov ecx, dword [ebx - 0xc]
add esp, 0xfffffff4
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], esi
mov dword [eax + 8], edi
call fcn.10010cf0
mov ecx, dword [0x10045a20]
add esp, 0xc
dec eax
mov dword [ebx - 0x18], eax
jmp case.0x1000655c.1
mov edx, dword [ebx - 0xc]
add esp, 0xfffffff4
mov edi, ecx
mov eax, esp
mov dword [eax], edx
mov dword [eax + 4], esi
mov dword [eax + 8], edi
call fcn.10010cf0
mov ecx, dword [0x10045a20]
add esp, 0xc
mov dword [ebx + 0x14], eax
jmp case.0x1000655c.1
mov esi, 1
mov dword [ebx - 0xc], 7
add ebp, 0x1f
dec dword [ebx - 0x10]
jne 0x10006550
mov dword [ebx - 4], edi
mov dword [ebx - 8], esi
mov edi, dword [ebx - 0x1c]
mov dword [ebx - 0x14], 0x29d7
mov ebp, dword [ebx - 0x14]
jmp case.0x10006102.10376
mov dword [ebx - 0x10], 4
cmp ebp, 0x12
ja case.0x100065f3.1
movzx eax, byte [ebp + 0x10006ca8]
jmp dword [eax*4 + 0x10006c94]
inc edi
jmp case.0x100065f3.1
mov esi, 1
mov dword [ebx - 0xc], esi
jmp case.0x100065f3.1
mov ecx, dword [ebx - 0xc]
add esp, 0xfffffff4
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], esi
mov dword [eax + 8], edi
call fcn.1001a540
sub esp, 0xfffffff4
dec eax
mov dword [ebx - 0x18], eax
jmp case.0x100065f3.1
mov edx, dword [ebx - 0xc]
mov edi, dword [0x10045a20]
sub esp, 0xc
mov eax, esp
mov dword [eax], edx
mov dword [eax + 4], esi
mov dword [eax + 8], edi
call fcn.1001a540
add esp, 0xc
mov dword [ebx + 0x14], eax
add ebp, 6
dec dword [ebx - 0x10]
jne 0x100065e7
jmp 0x100065c8
push 0x10037da0
push str.Oh__NO__internal_error_17q_
call fcn.100128d0
sub esp, 0xfffffff8
sub ebp, 0xffffffb0
cmp ebp, 0x21e1
jbe 0x10006510
mov edi, dword [ebx - 0x1c]
mov dword [ebx - 0x14], 0x29d7
mov ebp, dword [ebx - 0x14]
jmp case.0x10006102.10376
cmp ebp, 0x385f
ja 0x1000684d
je 0x10006836
cmp ebp, 0x3763
ja 0x100067a6
je 0x1000675f
mov eax, ebp
sub eax, 0x2a2b
je 0x10006739
sub eax, 0x54
jne case.0x10006102.10376
cmp dword [0x10043d84], eax
je 0x1000671d
mov edi, 0x25d3
mov ebp, dword [ebx - 0x18]
mov eax, edi
sub eax, 0x25d3
je 0x100066fb
sub eax, 0xe
je 0x100066ec
sub eax, 0xe
jne 0x10006707
pop edi
pop esi
pop ebp
mov esp, ebx
xor eax, eax
pop ebx
ret
mov eax, dword [ebx + 0x14]
push ebp
push eax
call fcn.10013420
sub esp, 0xfffffff8
jmp 0x10006707
mov ecx, dword [ebx - 4]
push ecx
call fcn.10013440
sub esp, 0xfffffffc
sub edi, 0xfffffff2
cmp edi, 0x25ef
jbe 0x100066d0
mov edi, dword [ebx - 0x1c]
mov ebp, dword [ebx - 0x14]
jmp case.0x10006102.10376
mov eax, 0x7b47
cmp eax, eax
je 0x1000697b
add eax, 0x14
cmp eax, 0x7b47
jbe 0x10006724
jmp case.0x10006102.10376
mov edx, dword [ebx + 0x14]
lea eax, [ebx - 0x3c]
push edx
push eax
call fcn.10012860
mov ecx, dword [eax]
mov esi, dword [eax + 4]
add esp, 8
mov edx, dword [eax + 8]
mov dword [ebx - 0xc], ecx
mov dword [ebx - 8], esi
mov dword [ebx - 4], edx
jmp case.0x10006102.10376
mov eax, dword [ebx + 8]
mov eax, dword [eax]
test eax, eax
je 0x10006772
cmp dword [eax + 0x1c], 0
jne case.0x10006102.10376
mov ecx, 0x6d1a
mov eax, ecx
sub eax, 0x6d1a
je 0x1000678f
sub eax, 3
jne 0x10006796
pop edi
mov eax, dword [ebx - 0x20]
pop esi
pop ebp
mov esp, ebx
pop ebx
ret
mov dword [ebx - 0x20], 0xfffffffe
add ecx, 3
cmp ecx, 0x6d1d
jbe 0x10006777
jmp case.0x10006102.10376
mov eax, ebp
sub eax, 0x37b7
je 0x10006826
sub eax, 0x54
jne case.0x10006102.10376
xor edx, edx
mov ecx, dword [ebx + 0xc]
cmp dword [ecx], edx
jge 0x100067f2
mov ecx, 0x76e8
mov eax, ecx
sub eax, 0x76e8
je 0x100067e4
sub eax, 0x49
je 0x100067df
sub eax, 0x49
je 0x100066e3
jmp 0x100067e7
mov dword [edi + 0x3c], edx
jmp 0x100067e7
mov dword [edi + 0x38], edx
sub ecx, 0xffffffb7
cmp ecx, 0x777a
jbe 0x100067c6
mov edx, dword [ebx + 0xc]
mov eax, dword [edx]
cmp eax, 0x10
jg 0x1000680a
mov ecx, dword [edi + 0x3c]
add ecx, eax
cmp ecx, 0x20
jbe case.0x10006102.10376
mov eax, 0x6397
cmp eax, eax
je 0x10006987
sub eax, 0xffffff9f
cmp eax, 0x6397
jbe 0x10006811
jmp case.0x10006102.10376
mov edx, dword [ebx + 8]
mov eax, dword [edx]
mov edi, dword [eax + 0x1c]
mov dword [ebx - 0x1c], edi
jmp case.0x10006102.10376
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov ecx, dword [edx]
mov edx, 1
shl edx, cl
dec edx
and dword [eax], edx
jmp case.0x10006102.10376
cmp ebp, 0x395b
ja 0x1000688f
je 0x10006785
mov eax, ebp
sub eax, 0x38b3
je 0x1000687d
sub eax, 0x54
jne case.0x10006102.10376
mov ecx, dword [ebx + 0xc]
mov edx, dword [ecx]
add dword [edi + 0x3c], edx
mov dword [ebx - 0x20], eax
jmp case.0x10006102.10376
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx]
mov ecx, dword [edi + 0x3c]
shl edx, cl
add dword [edi + 0x38], edx
jmp case.0x10006102.10376
cmp ebp, 0x60e6
jne case.0x10006102.10376
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
cmp ecx, 2
je 0x1000694f
cmp ecx, 4
je 0x1000694f
cmp ecx, 6
je 0x1000694f
cmp ecx, 0xa
je 0x1000694f
cmp ecx, 0xd
je 0x1000694f
cmp ecx, 0xc
jne 0x100068f1
mov edx, dword [ebx + 0xc]
mov edx, dword [edx]
lea eax, [edx*8]
sub eax, edx
inc eax
cdq
mov edi, 0x13
idiv edi
cmp edx, 7
mov edi, dword [ebx - 0x1c]
jge 0x1000694f
cmp ecx, 8
jne 0x10006908
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax]
push ecx
call fcn.100183f0
sub esp, 0xfffffffc
or eax, eax
je 0x1000694f
mov edx, dword [ebx + 8]
cmp dword [edx], 9
jne 0x10006922
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax]
push ecx
call fcn.10018410
sub esp, 0xfffffffc
or eax, eax
jne 0x1000694f
mov ecx, 0x5c7b
mov eax, ecx
sub eax, 0x5c7b
je 0x1000693b
sub eax, 0x13
je 0x10006785
jmp 0x10006942
mov dword [ebx - 0x20], 0x1e
add ecx, 0x13
cmp ecx, 0x5c8e
jbe 0x10006927
jmp case.0x10006102.10376
mov eax, 0x49db
cmp eax, eax
je 0x10006993
add eax, 0x38
cmp eax, 0x49db
jbe 0x10006956
add ebp, 0x54
mov dword [ebx - 0x14], ebp
cmp ebp, dword [ebx - 0x30]
jbe 0x10006030
mov eax, dword [ebx - 0x20]
pop edi
pop esi
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, 1
pop edi
pop esi
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, 0xfffffffe
pop edi
pop esi
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, 0x1d
pop edi
pop esi
pop ebp
mov esp, ebx
pop ebx
ret