Function at 0x1000c644
Capabilities:
Authenticate hmac
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
push ebx
lea ecx, [eax + 0x218]
push esi
push edi
mov dword [ebp - 8], eax
mov dword [ebp - 0x28], ecx
cmp eax, ecx
ja 0x1000bf6e
mov esi, 1
mov eax, dword [ebp - 8]
cmp eax, 0x2931
ja 0x1000bfb6
je 0x1000bf27
cmp eax, 0x2868
ja 0x1000bdf5
je 0x1000bdc2
sub eax, 0x27e2
je 0x1000bdb5
sub eax, 0x43
jne 0x1000d146
mov eax, dword [ebp - 0x1c]
dec eax
cdq
mov ecx, 0x13
idiv ecx
mov ecx, edx
mov ebx, eax
lea edx, [ecx*8]
imul ebx, ebx, 0xeb
sub edx, ecx
add edx, esi
mov eax, 0x6bca1af3
imul edx
sar edx, 3
mov edi, edx
shr edi, 0x1f
add edi, edx
lea ecx, [ecx + ecx*2]
lea edi, [edi + ecx*4]
add edi, ebx
mov dword [ebp - 0x10], edi
jmp 0x1000d146
mov edx, dword [ebp + 8]
mov ebx, dword [edx]
mov dword [ebp - 0x1c], ebx
jmp 0x1000d146
mov ecx, dword [ebp - 0x10]
mov eax, 0xf2b9d649
imul ecx
add edx, ecx
sar edx, 0xa
mov edi, edx
shr edi, 0x1f
add edx, edi
imul edx, edx, 0x438
mov eax, ecx
sub eax, edx
imul eax, eax, 0x319
sub eax, 0xffffff34
mov dword [ebp - 0x20], eax
jmp 0x1000d146
sub eax, 0x28ab
je 0x1000beb8
sub eax, 0x43
jne 0x1000d146
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x14]
imul ecx, ecx, 0x1d
mov eax, 0x2aaaaaab
imul dword [ebp - 0x24]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + ecx + 1]
cmp ebx, 0x4bf0
jge 0x1000beaf
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov edi, ecx
sub edi, edx
cmp edi, 2
jne 0x1000be7d
cmp ebx, 0x26c4
jl 0x1000be7d
mov eax, dword [ebp + 8]
mov edx, dword [eax]
lea eax, [edx*8]
sub eax, edx
add eax, esi
cdq
mov ebx, 0x13
idiv ebx
cmp edx, 7
jge 0x1000beaf
mov ebx, dword [ebp - 0x14]
cmp edi, esi
jne 0x1000bea7
cmp ebx, 0x4195
jl 0x1000bea7
mov edi, dword [ebp + 8]
mov edi, dword [edi]
lea eax, [edi*8]
sub eax, edi
sub eax, 6
cdq
mov edi, 0x13
idiv edi
cmp edx, 7
jl 0x1000beaf
mov dword [ebp - 0x18], ecx
jmp 0x1000d146
inc ecx
mov dword [ebp - 0x18], ecx
jmp 0x1000d146
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x10]
mov eax, 0xf2b9d649
imul edi
add edx, edi
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0xf2b9d649
imul ebx
add edx, ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x319
add eax, ecx
lea edx, [ebx + ebx*2]
lea ebx, [eax + edx*4 + 5]
mov eax, 0x2aaaaaab
imul ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
lea edx, [eax + eax]
mov eax, ebx
sub eax, edx
sub eax, ecx
imul eax, eax, 0x438
add eax, edi
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x14], eax
jmp 0x1000d146
mov edi, dword [ebp - 0x18]
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ebx, [eax*8]
sub ebx, eax
mov eax, edi
sub eax, ebx
je 0x1000bf8b
cmp eax, 3
je 0x1000bf8b
cmp eax, 5
je 0x1000bf8b
mov ecx, 0x5f49
jmp 0x1000bf60
mov eax, ecx
sub eax, 0x5f49
je 0x1000bf78
sub eax, 0x30
jne 0x1000bf7b
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0xc], edi
add ecx, 0x30
cmp ecx, 0x5f79
jbe 0x1000bf60
jmp 0x1000d146
mov ecx, 0x2a79
mov eax, ecx
sub eax, 0x2a79
je 0x1000bfa0
sub eax, 0x18
je 0x1000bf6e
jmp 0x1000bfa6
lea edx, [edi + 1]
mov dword [ebp - 0xc], edx
sub ecx, 0xffffffe8
cmp ecx, 0x2a91
jbe 0x1000bf90
jmp 0x1000d146
cmp eax, 0x44da
ja 0x1000c83b
je 0x1000c003
sub eax, 0x4454
je 0x1000bff7
sub eax, 0x43
jne 0x1000d146
lea eax, [ebp - 0x40]
call fcn.100159c0
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
mov edx, dword [ebp + 0xc]
push esi
push ebx
mov ecx, 0x10037da0
call fcn.10011b10
add esp, 8
jmp 0x1000d146
mov dword [ebp - 4], str.usage:__n___hebcal___acdDehHiMoOrsStTwxy__n____________b_candle_lighting_minutes_before_sundown__n____________I_input_file__n____________Y_yahrtzeit_file__n____________C_city__n____________L_longitude__l_latitude__n____________m_havdalah_minutes__n____________z_timezone__n____________Z_daylight_savings_scheme__n____________month__day___year__n___hebcal_help_n___hebcal_info_n___hebcal_DST_n___hebcal_cities_n___hebcal_warranty_n___hebcal_copying_n
jmp 0x1000d146
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [ebp + 0xc]
push 0
push eax
mov ecx, str.ab:cC:dDeFf:hHI:il:L:m:MoOrsStTwxyY:z:Z:8
call fcn.10011b10
mov ebx, eax
sub esp, 0xfffffff8
cmp ebx, 0xffffffff
je 0x1000c81f
jmp 0x1000c030
mov eax, 0x497
cmp eax, eax
jne 0x1000c7ee
movsx edi, bl
add edi, 0xffffffc8
cmp edi, 0x42
ja case.0x1000c053.57
movzx ecx, byte [edi + 0x1000d220]
jmp dword [ecx*4 + 0x1000d1a0]
mov ecx, 0x35ac
nop
mov eax, ecx
sub eax, 0x35ac
je 0x1000c074
sub eax, 0x3a
je case.0x1000c60f.92
jmp 0x1000c07a
mov dword [0x10046848], esi
add ecx, 0x3a
cmp ecx, 0x35e6
jbe 0x1000c060
mov eax, 0x4712
cmp eax, eax
je 0x1000c0b9
add eax, 0x1c
cmp eax, 0x4712
jbe 0x1000c08c
mov edi, 0x3d1e
lea ecx, [ecx]
mov eax, edi
sub eax, 0x3d1e
je 0x1000c0d4
sub eax, 0x5e
je 0x1000c0c4
sub eax, 0x5e
je case.0x1000c60f.92
jmp 0x1000c104
mov dword [0x10046140], esi
jmp case.0x1000c60f.92
mov edx, dword [0x10043474]
neg edx
mov dword [0x10043474], edx
jmp 0x1000c104
mov eax, dword [0x10046138]
push 0x10043474
push 0x10038d8c
push eax
call fcn.1001c686
sub esp, 0xfffffff4
cmp eax, esi
je 0x1000c104
mov ecx, dword [0x10046138]
push ecx
push str.unable_to_read_candle_lighting_minutes_before_sundown_argument:__s
call fcn.100128d0
add esp, 8
sub edi, 0xffffffa2
cmp edi, 0x3dda
jbe 0x1000c0a0
mov ecx, 0x241
mov eax, ecx
sub eax, 0x241
je 0x1000c128
sub eax, 0x34
je case.0x1000c60f.92
jmp 0x1000c12e
mov dword [0x10046128], esi
add ecx, 0x34
cmp ecx, 0x275
jbe 0x1000c114
mov edi, 0x58f1
mov esi, esi
mov eax, edi
sub eax, 0x58f1
je 0x1000c159
sub eax, 0x50
jne 0x1000c163
mov dword [0x10046128], esi
jmp case.0x1000c60f.92
mov eax, dword [0x10046138]
call fcn.10019ca0
add edi, 0x50
cmp edi, 0x5941
jbe 0x1000c140
mov ecx, 0x3e62
mov eax, ecx
sub eax, 0x3e62
je 0x1000c187
sub eax, 0x4a
je case.0x1000c60f.92
jmp 0x1000c18d
mov dword [0x1004682c], esi
sub ecx, 0xffffffb6
cmp ecx, 0x3eac
jbe 0x1000c173
mov eax, 0x632f
cmp eax, eax
je 0x1000c1c4
add eax, 0x53
cmp eax, 0x632f
jbe 0x1000c19f
mov edi, 0x77cf
mov eax, edi
sub eax, 0x77cf
je 0x1000c1cf
sub eax, 0x5f
je case.0x1000c60f.92
jmp 0x1000c205
mov dword [0x10046840], esi
jmp case.0x1000c60f.92
mov edx, dword [0x10046138]
push 0x10038dd4
push edx
mov dword [0x10046858], esi
call fcn.1001d40e
add esp, 8
mov dword [0x10046134], eax
test eax, eax
jne 0x1000c205
mov eax, dword [0x10046138]
push eax
push str.could_not_open_input_file__s.
call fcn.100128d0
add esp, 8
sub edi, 0xffffffa1
cmp edi, 0x782e
jbe 0x1000c1b0
mov ecx, 0x7ea4
mov eax, ecx
sub eax, 0x7ea4
je 0x1000c229
sub eax, 0x29
je case.0x1000c60f.92
jmp 0x1000c22f
mov dword [0x10046114], esi
add ecx, 0x29
cmp ecx, 0x7ecd
jbe 0x1000c215
mov eax, 0x24b9
cmp eax, eax
je 0x1000c266
sub eax, 0xffffffa1
cmp eax, 0x24b9
jbe 0x1000c241
mov ecx, 0x9ea
mov eax, ecx
sub eax, 0x9ea
je 0x1000c27f
sub eax, 0x47
je case.0x1000c60f.92
jmp 0x1000c285
mov ecx, dword [0x10046138]
push ecx
call fcn.1002ad3d
add esp, 4
mov dword [0x1004611c], eax
jmp case.0x1000c60f.92
mov dword [0x1004685c], esi
sub ecx, 0xffffffb9
cmp ecx, 0xa31
jbe 0x1000c252
mov eax, 0x58e3
cmp eax, eax
je 0x1000c2bb
add eax, esi
cmp eax, 0x58e3
jbe 0x1000c297
mov ecx, 0x73b9
mov eax, ecx
sub eax, 0x73b9
je 0x1000c2c6
sub eax, 0x31
je case.0x1000c60f.92
jmp 0x1000c2cc
mov dword [0x10046110], esi
jmp case.0x1000c60f.92
mov dword [0x10046124], esi
add ecx, 0x31
cmp ecx, 0x73ea
jbe 0x1000c2a7
mov ecx, 0x7e58
lea esp, [esp]
mov eax, ecx
sub eax, 0x7e58
je 0x1000c2f4
sub eax, 0x15
je case.0x1000c60f.92
jmp 0x1000c2fa
mov dword [0x10045a24], esi
add ecx, 0x15
cmp ecx, 0x7e6d
jbe 0x1000c2e0
mov edi, 0x7105
lea ebx, [ebx]
cmp edi, 0x71ab
ja 0x1000c3c4
je 0x1000c3b3
mov eax, edi
sub eax, 0x7105
je 0x1000c39f
sub eax, 0x53
jne 0x1000c3ef
mov edx, dword [0x10046138]
push 0x10046854
push 0x10046148
push str._d__d
push edx
call fcn.1001c686
add esp, 0x10
cmp eax, 2
jge 0x1000c36e
mov eax, dword [0x10046138]
push eax
push str.unable_to_read_latitude_argument:__s
call fcn.100128d0
add esp, 8
mov eax, dword [0x10046148]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x5a
jg 0x1000c38b
mov eax, dword [0x10046854]
cmp eax, 0x3c
jg 0x1000c38b
test eax, eax
jns 0x1000c3ef
push 0x10037da0
push str.latitude_argument_out_of_range
call fcn.100128d0
sub esp, 0xfffffff8
jmp 0x1000c3ef
xor eax, eax
mov dword [0x10046854], eax
mov dword [0x10046148], eax
mov dword [0x100460fc], esi
jmp 0x1000c3ef
mov eax, dword [0x10046854]
cdq
xor eax, edx
sub eax, edx
mov dword [0x10046854], eax
jmp 0x1000c3ef
mov eax, edi
sub eax, 0x71fe
je 0x1000c3d8
sub eax, 0x53
je case.0x1000c60f.92
jmp 0x1000c3ef
cmp dword [0x10046148], 0
jge 0x1000c3ef
mov ecx, dword [0x10046854]
neg ecx
mov dword [0x10046854], ecx
sub edi, 0xffffffad
cmp edi, 0x7251
jbe 0x1000c310
mov edi, 0x658b
cmp edi, 0x6643
ja 0x1000c4a9
je 0x1000c476
mov eax, edi
sub eax, 0x658b
je 0x1000c468
sub eax, 0x5c
jne 0x1000c4df
mov edx, dword [0x10046138]
push 0x1004684c
push 0x10046828
push str._d__d
push edx
mov dword [0x10046104], esi
call fcn.1001c686
sub esp, 0xfffffff0
cmp eax, 2
jge 0x1000c4df
mov eax, dword [0x10046138]
push eax
push str.unable_to_read_longitude_argument:__s
call fcn.100128d0
sub esp, 0xfffffff8
jmp 0x1000c4df
xor eax, eax
mov dword [0x1004684c], eax
mov dword [0x10046828], eax
jmp 0x1000c4df
mov eax, dword [0x10046828]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xb4
jg 0x1000c495
mov eax, dword [0x1004684c]
cmp eax, 0x3c
jg 0x1000c495
or eax, eax
jns 0x1000c4df
push 0x10037da0
push str.longitude_argument_out_of_range
call fcn.100128d0
sub esp, 0xfffffff8
jmp 0x1000c4df
mov eax, edi
sub eax, 0x669f
je 0x1000c4bd
sub eax, 0x5c
je case.0x1000c60f.92
jmp 0x1000c4df
mov eax, dword [0x1004684c]
cdq
xor eax, edx
sub eax, edx
cmp dword [0x10046828], 0
mov dword [0x1004684c], eax
jge 0x1000c4df
mov ecx, eax
neg ecx
mov dword [0x1004684c], ecx
sub edi, 0xffffffa4
cmp edi, 0x66fb
jbe 0x1000c403
mov eax, 0x37c9
cmp eax, eax
je 0x1000c576
add eax, 6
cmp eax, 0x37c9
jbe 0x1000c4f5
mov eax, 0x299c
cmp eax, eax
je 0x1000c5a7
sub eax, 0xffffffd3
cmp eax, 0x299c
jbe 0x1000c50c
mov eax, 0x2f47
cmp eax, eax
je 0x1000c5b2
add eax, 0x21
cmp eax, 0x2f47
jbe 0x1000c523
mov eax, 0x442f
cmp eax, eax
je 0x1000c5bd
sub eax, 0xffffffdc
cmp eax, 0x442f
jbe 0x1000c53a
mov eax, 0xba7
cmp eax, eax
je 0x1000c5c8
add eax, 6
cmp eax, 0xba7
jbe 0x1000c551
mov ecx, 0x7c59
mov eax, ecx
sub eax, 0x7c59
je 0x1000c5d3
sub eax, 0x48
je case.0x1000c60f.92
jmp 0x1000c5d9
mov edx, dword [0x10046138]
push 0x10043470
push 0x10038d8c
push edx
call fcn.1001c686
add esp, 0xc
cmp eax, esi
je case.0x1000c60f.92
mov eax, dword [0x10046138]
push eax
push str.unable_to_read_havdalah_minutes_argument:__s
jmp 0x1000c7e1
mov dword [0x10046150], esi
jmp case.0x1000c60f.92
mov dword [0x1004612c], esi
jmp case.0x1000c60f.92
mov dword [0x10046844], esi
jmp case.0x1000c60f.92
mov dword [0x10046838], esi
jmp case.0x1000c60f.92
mov dword [0x10045a1c], esi
sub ecx, 0xffffffb8
cmp ecx, 0x7ca1
jbe 0x1000c562
mov eax, 0x32d3
cmp eax, eax
je 0x1000c616
sub eax, 0xffffffbf
cmp eax, 0x32d3
jbe 0x1000c5ef
mov dword [0x10046820], esi
xor eax, eax
cmp eax, 0x5c
ja case.0x1000c60f.1
movzx ecx, byte [eax + 0x1000d27c]
jmp dword [ecx*4 + 0x1000d264]
mov dword [0x1004686c], esi
jmp case.0x1000c60f.92
mov dword [0x1004682c], esi
mov dword [0x10045a18], 3
jmp case.0x1000c60f.1
mov edi, dword [ebp - 0x3c]
mov dword [0x1004683c], edi
mov dword [0x10046144], esi
jmp case.0x1000c60f.1
mov dword [0x1004612c], esi
jmp case.0x1000c60f.1
mov ecx, dword [ebp - 0x40]
mov dword [0x10046850], ecx
add eax, 0x17
lea edx, [eax + 0x2325]
cmp edx, 0x2381
jbe 0x1000c603
mov eax, 0x3b79
cmp eax, eax
je 0x1000c6d0
add eax, 0x1a
cmp eax, 0x3b79
jbe 0x1000c66d
mov eax, 0x4a74
cmp eax, eax
je 0x1000c6db
add eax, 0x17
cmp eax, 0x4a74
jbe 0x1000c680
mov ecx, 0x4f5b
mov eax, ecx
sub eax, 0x4f5b
je 0x1000c6e6
sub eax, 0x27
jne 0x1000c6ec
mov eax, dword [0x10046138]
push 0x10038dd4
push eax
call fcn.1001d40e
add esp, 8
mov dword [0x10045a2c], eax
or eax, eax
jne case.0x1000c60f.92
mov ecx, dword [0x10046138]
push ecx
push str.could_not_open_yahrtzeit_input_file__s.
jmp 0x1000c7e1
mov dword [0x100460f8], esi
jmp case.0x1000c60f.92
mov dword [0x10046130], esi
jmp case.0x1000c60f.92
mov dword [0x10046120], esi
add ecx, 0x27
cmp ecx, 0x4f82
jbe 0x1000c691
mov eax, 0x1deb
cmp eax, eax
je 0x1000c729
add eax, 0x3a
cmp eax, 0x1deb
jbe 0x1000c6fe
mov edi, 0x2ba8
nop
mov eax, edi
sub eax, 0x2ba8
je 0x1000c755
sub eax, 0x22
je 0x1000c734
sub eax, 0x22
je case.0x1000c60f.92
jmp 0x1000c75b
mov dword [0x10046108], esi
jmp case.0x1000c60f.92
mov eax, dword [0x10046138]
lea edx, [ebp - 0x34]
push edx
push 0x10038ee8
push eax
call fcn.1001c686
add esp, 0xc
lea eax, [ebp - 0x34]
call fcn.10017050
jmp 0x1000c75b
mov dword [0x10045a28], esi
add edi, 0x22
cmp edi, 0x2bec
jbe 0x1000c710
mov edi, 0x1d56
jmp 0x1000c770
mov eax, edi
sub eax, 0x1d56
je 0x1000c79c
sub eax, 0x51
je 0x1000c785
sub eax, 0x51
je case.0x1000c60f.92
jmp 0x1000c7cd
cmp dword [0x10045a28], 0
jne 0x1000c794
mov dword [0x10046824], esi
mov dword [0x10046864], esi
jmp 0x1000c7cd
mov ecx, dword [0x10046138]
push 0x1004610c
push 0x10038d8c
push ecx
call fcn.1001c686
sub esp, 0xfffffff4
cmp eax, esi
je 0x1000c7cd
mov edx, dword [0x10046138]
push edx
push str.unable_to_read_time_zone_argument:__s
call fcn.100128d0
add esp, 8
sub edi, 0xffffffaf
cmp edi, 0x1df8
jbe 0x1000c770
mov eax, dword [ebp - 4]
push 0x10037da0
push eax
call fcn.100128d0
sub esp, 0xfffffff8
mov eax, 0x497
sub eax, 0xffffffef
cmp eax, 0x497
jbe 0x1000c037
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
push 0
push ecx
mov edx, dword [ebp + 0xc]
mov ecx, str.ab:cC:dDeFf:hHI:il:L:m:MoOrsStTwxyY:z:Z:8
call fcn.10011b10
mov ebx, eax
add esp, 8
cmp ebx, 0xffffffff
jne 0x1000c030
cmp dword [0x100460fc], 0
je 0x1000d146
mov dword [0x10046860], str.User_Defined_City
jmp 0x1000d146
sub eax, 0x451d
je 0x1000d0e9
sub eax, 0x43
jne 0x1000d146
mov eax, dword [ebp + 8]
mov eax, dword [eax]
sub eax, dword [0x10043b00]
cmp eax, 3
ja case.default.0x1000c863
jmp dword [eax*4 + 0x1000d2dc]
mov ecx, dword [ebp - 0x38]
mov esi, 0x6799
mov eax, esi
sub eax, 0x6799
je 0x1000c886
sub eax, 3
je 0x1000d0d8
jmp 0x1000c8d2
cmp dword [0x10046124], 0
je 0x1000c8cc
mov edx, dword [ebp - 0x40]
add esp, 0xfffffff4
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x3c]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
call fcn.1001a540
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.10012860
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x38]
sub esp, 0xffffffec
mov dword [ebp - 0x48], edx
mov dword [0x10045a20], eax
jmp 0x1000c8d2
mov dword [0x10045a20], ecx
add esi, 3
cmp esi, 0x679c
jbe 0x1000c872
mov ebx, dword [ebp + 0xc]
mov esi, 0x47b3
mov eax, esi
sub eax, 0x47b3
je 0x1000c8fc
sub eax, 0x33
je 0x1000d0d8
jmp 0x1000caf1
mov ecx, dword [0x10043b00]
mov eax, dword [ebx + ecx*4]
call fcn.10015620
test eax, eax
je 0x1000c954
mov edi, 0x7689
mov eax, edi
sub eax, 0x7689
je 0x1000c92d
sub eax, 0x28
jne 0x1000c944
mov dword [0x10046144], 1
jmp 0x1000c944
mov edx, dword [0x10043b00]
mov eax, dword [ebx + edx*4]
push eax
call fcn.1001ceff
sub esp, 0xfffffffc
mov dword [0x10045a20], eax
add edi, 0x28
cmp edi, 0x76b1
jbe 0x1000c913
jmp 0x1000caf1
mov ecx, dword [0x10043b00]
mov edx, dword [ebx + ecx*4]
push str.help
push edx
push 5
call fcn.100133c0
add esp, 0xc
test eax, eax
jne 0x1000c98d
mov eax, 0x3ab6
cmp eax, eax
je 0x1000d162
add eax, 0x40
cmp eax, 0x3ab6
jbe 0x1000c978
jmp 0x1000caf1
mov eax, dword [0x10043b00]
mov ecx, dword [ebx + eax*4]
push str.info
push ecx
push 3
call fcn.100133c0
add esp, 0xc
test eax, eax
jne 0x1000c9d9
mov edi, 0x99c
mov esi, esi
mov eax, edi
sub eax, 0x99c
je 0x1000c9c4
sub eax, 0x5d
je 0x1000d17e
jmp 0x1000c9c9
call fcn.10010cd0
add edi, 0x5d
cmp edi, 0x9f9
jbe 0x1000c9b0
jmp 0x1000caf1
mov edx, dword [0x10043b00]
mov eax, dword [ebx + edx*4]
push str.cities
push eax
push 3
call fcn.100133c0
sub esp, 0xfffffff4
test eax, eax
jne 0x1000ca29
mov edi, 0x31a7
jmp 0x1000ca00
mov eax, edi
sub eax, 0x31a7
je 0x1000ca14
sub eax, 0x43
je 0x1000d17e
jmp 0x1000ca19
call fcn.10016d20
add edi, 0x43
cmp edi, 0x31ea
jbe 0x1000ca00
jmp 0x1000caf1
mov ecx, dword [0x10043b00]
mov edx, dword [ebx + ecx*4]
push 0x10038f40
push edx
push 3
call fcn.100133c0
add esp, 0xc
test eax, eax
jne 0x1000ca75
mov edi, 0x450f
jmp 0x1000ca50
mov eax, edi
sub eax, 0x450f
je 0x1000ca62
dec eax
je 0x1000d17e
jmp 0x1000ca67
call fcn.10012840
inc edi
cmp edi, 0x4510
jbe 0x1000ca50
jmp 0x1000caf1
mov eax, dword [0x10043b00]
mov ecx, dword [ebx + eax*4]
push str.copying
push ecx
push 3
call fcn.100133c0
add esp, 0xc
test eax, eax
jne 0x1000caaa
mov eax, 0x62dc
cmp eax, eax
je 0x1000d185
add eax, 0x4c
cmp eax, 0x62dc
jbe 0x1000ca98
jmp 0x1000caf1
mov edx, dword [0x10043b00]
mov eax, dword [ebx + edx*4]
push str.warranty
push eax
push 3
call fcn.100133c0
sub esp, 0xfffffff4
test eax, eax
jne 0x1000cae0
mov eax, 0x6471
cmp eax, eax
je 0x1000d191
add eax, 0x22
cmp eax, 0x6471
jbe 0x1000cace
jmp 0x1000caf1
mov ecx, dword [ebp - 4]
push 0x10037da0
push ecx
call fcn.100128d0
add esp, 8
add esi, 0x33
cmp esi, 0x47e6
jbe 0x1000c8e5
mov esi, dword [ebp + 0xc]
mov ebx, 0x6522
mov edi, 1
lea ecx, [ecx]
cmp ebx, 0x65eb
ja 0x1000ccad
je 0x1000cb9a
mov eax, ebx
sub eax, 0x6522
je 0x1000cb6d
sub eax, 0x43
je 0x1000cb51
sub eax, 0x43
jne 0x1000ccd4
mov edx, dword [0x10043b00]
mov eax, dword [esi + edx*4]
call fcn.10019cd0
mov dword [0x10046850], eax
jmp 0x1000ccd4
mov eax, dword [0x10043b00]
mov ecx, dword [esi + eax*4 + 4]
push ecx
call fcn.1001ceff
sub esp, 0xfffffffc
mov dword [0x10045a20], eax
jmp 0x1000ccd4
mov edx, dword [0x10043b00]
mov eax, dword [esi + edx*4 + 4]
call fcn.10015620
or eax, eax
jne 0x1000ccd4
mov eax, dword [ebp - 4]
push 0x10037da0
push eax
call fcn.100128d0
add esp, 8
jmp 0x1000ccd4
cmp dword [0x10046850], 0
je 0x1000cc12
mov ecx, 0x6fc1
lea esp, [esp]
mov eax, ecx
sub eax, 0x6fc1
je 0x1000cbf6
sub eax, 0x51
jne 0x1000cbfc
cmp dword [0x10046850], 0xd
jne 0x1000cbfc
mov edx, dword [0x10045a20]
lea eax, [edx*8]
sub eax, edx
add eax, edi
cdq
mov edi, 0x13
idiv edi
mov edi, 1
cmp edx, 7
jl 0x1000cbfc
mov dword [0x10046850], 0xc
jmp 0x1000cbfc
mov dword [0x10046124], edi
sub ecx, 0xffffffaf
cmp ecx, 0x7012
jbe 0x1000cbb0
add dword [0x10043b00], edi
jmp 0x1000ccd4
mov ecx, dword [0x10043b00]
mov eax, dword [esi + ecx*4]
call fcn.10015620
test eax, eax
je 0x1000cc6c
cmp dword [0x10046124], 0
je 0x1000cc4a
push 0x10037da0
push str.Dont_use_numbers_to_specify_hebrew_months.
call fcn.100128d0
add esp, 8
add dword [0x10043b00], edi
jmp 0x1000ccd4
mov edx, dword [0x10043b00]
mov eax, dword [esi + edx*4]
push eax
call fcn.1001ceff
sub esp, 0xfffffffc
add dword [0x10043b00], edi
mov dword [0x10046850], eax
jmp 0x1000ccd4
cmp dword [0x10046124], 0
je 0x1000cc94
mov ecx, dword [0x10043b00]
mov edx, dword [esi + ecx*4]
push edx
push str.Unknown_hebrew_month:__s
call fcn.100128d0
add esp, 8
add dword [0x10043b00], edi
jmp 0x1000ccd4
mov eax, dword [ebp - 4]
push 0x10037da0
push eax
call fcn.100128d0
add esp, 8
add dword [0x10043b00], edi
jmp 0x1000ccd4
mov eax, ebx
sub eax, 0x662e
je 0x1000ccce
sub eax, 0x43
je 0x1000ccc6
sub eax, 0x43
je 0x1000d0d8
jmp 0x1000ccd4
mov dword [0x10045a18], edi
jmp 0x1000ccd4
mov dword [0x10046144], edi
add ebx, 0x43
cmp ebx, 0x66b4
jbe 0x1000cb10
mov edi, 0x7770
jmp 0x1000ccf0
cmp edi, 0x7814
ja 0x1000d08d
je 0x1000ceb3
lea eax, [edi - 0x7770]
cmp eax, 0x7b
ja case.0x1000cd18.30577
movzx ecx, byte [eax + 0x1000d300]
jmp dword [ecx*4 + 0x1000d2ec]
cmp dword [0x1004683c], 1
jge case.0x1000cd18.30577
push 0x10037da0
push str.The_day_of_the_month_must_be_greater_than_0
call fcn.100128d0
add esp, 8
jmp case.0x1000cd18.30577
mov edx, dword [0x10043b00]
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + edx*4 + 4]
call fcn.10015620
or eax, eax
je 0x1000cd6b
mov eax, dword [0x10043b00]
mov eax, dword [ebx + eax*4 + 8]
call fcn.10015620
or eax, eax
jne 0x1000cd7c
mov ecx, dword [ebp - 4]
push 0x10037da0
push ecx
call fcn.100128d0
sub esp, 0xfffffff8
mov edx, dword [0x10043b00]
mov eax, dword [ebx + edx*4 + 4]
push eax
call fcn.1001ceff
add esp, 4
mov dword [0x1004683c], eax
jmp case.0x1000cd18.30577
cmp dword [0x10046850], 0
je 0x1000cdf5
mov esi, dword [0x10045a20]
mov ecx, 0x5f1d
cmp ecx, ecx
jne 0x1000cde5
cmp dword [0x10046850], 0xd
mov dword [0x10046124], 1
jne 0x1000cde5
lea eax, [esi*8]
sub eax, esi
inc eax
cdq
mov ebx, 0x13
idiv ebx
cmp edx, 7
jl 0x1000cde5
mov dword [0x10046850], 0xc
add ecx, 0x10
cmp ecx, 0x5f1d
jbe 0x1000cdaf
jmp case.0x1000cd18.30577
mov ecx, dword [0x10043b00]
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + ecx*4]
call fcn.10015620
test eax, eax
je 0x1000ce46
cmp dword [0x10046124], 0
je 0x1000ce2a
push 0x10037da0
push str.Dont_use_numbers_to_specify_hebrew_months.
call fcn.100128d0
sub esp, 0xfffffff8
jmp case.0x1000cd18.30577
mov edx, dword [0x10043b00]
mov eax, dword [ebx + edx*4]
push eax
call fcn.1001ceff
add esp, 4
mov dword [0x10046850], eax
jmp case.0x1000cd18.30577
cmp dword [0x10046124], 0
je 0x1000ce6b
mov ecx, dword [0x10043b00]
mov edx, dword [ebx + ecx*4]
push edx
push str.Unknown_hebrew_month:__s
call fcn.100128d0
add esp, 8
jmp case.0x1000cd18.30577
mov eax, dword [ebp - 4]
push eax
push str.bad_month._s
call fcn.100128d0
add esp, 8
jmp case.0x1000cd18.30577
mov ecx, dword [0x10043b00]
mov esi, dword [ebp + 0xc]
mov edx, dword [esi + ecx*4 + 8]
push edx
call fcn.1001ceff
mov dword [0x10045a20], eax
mov eax, dword [0x10043b00]
mov eax, dword [esi + eax*4]
sub esp, 0xfffffffc
call fcn.10019cd0
mov dword [0x10046850], eax
jmp case.0x1000cd18.30577
mov ebx, dword [0x10046850]
cmp ebx, 1
jge 0x1000ced6
push 0x10037da0
push str.The_month_must_be_greater_than_0
call fcn.100128d0
mov ebx, dword [0x10046850]
add esp, 8
cmp dword [0x10046124], 0
mov ecx, dword [0x10045a20]
je 0x1000cfc3
push ecx
push ebx
call fcn.10016cd0
sub esp, 0xfffffff8
cmp dword [0x1004683c], eax
jle case.0x1000cd18.30577
cmp dword [0x10046140], 0
mov esi, dword [0x10046850]
mov ecx, dword [0x10045a20]
je 0x1000cf49
lea eax, [ecx*8]
sub eax, ecx
inc eax
cdq
mov ebx, 0x13
idiv ebx
xor ebx, ebx
cmp edx, 7
setl bl
mov eax, ebx
shl ebx, 4
sub ebx, eax
add ebx, esi
lea edx, [ebx + ebx*2]
mov eax, dword [edx*4 + 0x10042b70]
or eax, eax
jne 0x1000cfb0
cmp dword [0x10046848], 0
je 0x1000cf83
lea eax, [ecx*8]
sub eax, ecx
inc eax
cdq
mov ebx, 0x13
idiv ebx
xor ebx, ebx
cmp edx, 7
setl bl
mov edx, ebx
shl ebx, 4
sub ebx, edx
add ebx, esi
lea edx, [ebx + ebx*2]
mov eax, dword [edx*4 + 0x10042b6c]
or eax, eax
jne 0x1000cfb0
lea eax, [ecx*8]
sub eax, ecx
inc eax
cdq
mov ebx, 0x13
idiv ebx
xor ecx, ecx
cmp edx, 7
setl cl
mov ebx, ecx
shl ebx, 4
sub ebx, ecx
add ebx, esi
lea edx, [ebx + ebx*2]
mov eax, dword [edx*4 + 0x10042b68]
push eax
push str.Sorry__there_arent_that_many_days_in__s__then_
call fcn.100128d0
add esp, 8
jmp case.0x1000cd18.30577
mov esi, 0x3c10
jmp 0x1000cfd0
mov eax, esi
sub eax, 0x3c10
je 0x1000d059
sub eax, 0x36
jne 0x1000d07c
mov eax, ecx
and eax, 0x80000003
jns 0x1000cff4
dec eax
or eax, 0xfffffffc
inc eax
jne 0x1000d034
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
mov edx, ecx
sub edx, eax
jne 0x1000d02d
mov eax, 0x51eb851f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x190
mov edx, ecx
sub edx, eax
jne 0x1000d034
mov eax, 1
jmp 0x1000d036
xor eax, eax
mov edx, dword [0x1004683c]
imul eax, eax, 0xd
add eax, ebx
cmp edx, dword [eax*4 + 0x10043408]
jle 0x1000d07c
mov eax, dword [ebx*4 + 0x10042b34]
push eax
push str.Sorry__there_arent_that_many_days_in__s__then_
jmp 0x1000d068
cmp ebx, 0xc
jle 0x1000d07c
push 0x10037da0
push str.The_month_must_be_less_than_13
call fcn.100128d0
mov ecx, dword [0x10045a20]
mov ebx, dword [0x10046850]
add esp, 8
add esi, 0x36
cmp esi, 0x3c46
jbe 0x1000cfd0
jmp case.0x1000cd18.30577
mov eax, edi
sub eax, 0x783d
je 0x1000d0ae
sub eax, 0x29
je 0x1000d0a2
sub eax, 0x29
je 0x1000d0d8
jmp case.0x1000cd18.30577
mov dword [0x10046144], 1
jmp case.0x1000cd18.30577
mov dword [0x10045a18], 2
sub edi, 0xffffffd7
cmp edi, 0x788f
jbe 0x1000ccf0
mov ecx, dword [ebp - 4]
push 0x10037da0
push ecx
call fcn.100128d0
add esp, 8
mov dword [ebp - 8], 0x4560
mov esi, 1
jmp 0x1000d146
mov edx, dword [0x10046104]
xor edx, dword [0x100460fc]
je 0x1000d109
push 0x10037da0
push str.You_must_enter_BOTH_the_latitude_and_the_longitude
call fcn.100128d0
sub esp, 0xfffffff8
mov eax, dword [0x10046860]
mov ecx, str.Jerusalem
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000d133
or dl, dl
je 0x1000d12f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000d133
sub eax, 0xfffffffe
sub ecx, 0xfffffffe
or dl, dl
jne 0x1000d113
xor eax, eax
jmp 0x1000d138
sbb eax, eax
sbb eax, 0xffffffff
or eax, eax
jne 0x1000d146
mov dword [0x10043474], 0xffffffd8
mov eax, dword [ebp - 8]
sub eax, 0xffffffbd
mov dword [ebp - 8], eax
cmp eax, dword [ebp - 0x28]
jbe 0x1000bd42
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor ebp, ebp
mov eax, dword [ebp + 0x10044a18]
push eax
call fcn.1001d76b
add ebp, 4
sub esp, 0xfffffffc
cmp ebp, 0x18c
jb 0x1000d164
push 0
call fcn.1001dd83
call fcn.1001bb30
push 0
call fcn.1001dd83
call fcn.100179d0
push 0
call fcn.1001dd83
lea ecx, [ecx]
test eax, eax
add byte [eax], dl
cmp ecx, eax
add byte [eax], dl
cwde
rol dword [eax], 16
dec ebp
ret 4096