Function at 0x10017f30
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10137bd5
mov eax, dword fs:[0]
push eax
sub esp, 0x31c
mov eax, dword [0x1021eb80]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x30c], ebx
mov ecx, dword [ebx + 0xd8]
push 0
push 1
push 0x102275f4
mov dword [ebp - 4], 0
call dword [0x101a6064]
mov edi, eax
mov dword [ebp - method.SmartPointers::CountedPtr_class_DataMgmt::TaxForm_.virtual_0], vtable.SmartPointers::CountedPtr_class_DataMgmt::TaxForm_.0
lea eax, [ebp - 0x2f8]
push 2
push eax
call fcn.101342cd
lea esi, [edi + 0xc]
lea eax, [ebp - 0x2f8]
push esi
push eax
call fcn.1000f610
mov eax, dword [edi + 4]
mov dword [ebp - 0x300], eax
mov eax, dword [edi + 8]
push eax
mov dword [ebp - 0x2fc], eax
call fcn.1000e770
lock inc dword [eax]
push esi
call fcn.101342e5
lea eax, [ebp - 0x2f8]
push eax
call fcn.101342e5
add esp, 0x1c
mov dword [ebp - method.DataMgmt::TaxFormPtr.virtual_0], vtable.DataMgmt::TaxFormPtr.0
mov eax, dword [ebp - 0x300]
mov byte [ebp - 4], 1
test eax, eax
je 0x100189cd
mov al, byte [eax + 0x3e]
test al, al
je 0x100189cd
mov edi, dword [0x101a70ec]
lea ecx, [ebp - 0x2b0]
push 0x10228878
call edi
push 0x10228410
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 2
call edi
push 0x10228688
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], 3
call edi
push 0x10228420
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 4
call edi
push 0x10228880
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 5
call edi
push 0x10228430
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 6
call edi
push 0x10228690
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 7
call edi
push 0x10228440
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 8
call edi
push 0x10228888
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 9
call edi
push 0x10228450
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0xa
call edi
push 0x10228698
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0xb
call edi
push 0x10228460
lea ecx, [ebp - 0x258]
mov byte [ebp - 4], 0xc
call edi
push 0x10228890
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0xd
call edi
push 0x10228470
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0xe
call edi
push 0x102286a0
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 0xf
call edi
push 0x10228480
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0x10
call edi
mov byte [ebp - 4], 0x11
push 0x10228898
lea ecx, [ebp - 0x230]
call edi
push 0x10228490
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0x12
call edi
push 0x102286a8
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x13
call edi
push 0x102284a0
lea ecx, [ebp - 0x218]
mov byte [ebp - 4], 0x14
call edi
push 0x102288a0
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0x15
call edi
push 0x102284b0
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 0x16
call edi
push 0x102286b0
lea ecx, [ebp - 0x200]
mov byte [ebp - 4], 0x17
call edi
push 0x102284c0
lea ecx, [ebp - 0x1f8]
mov byte [ebp - 4], 0x18
call edi
push 0x102288a8
lea ecx, [ebp - 0x1f0]
mov byte [ebp - 4], 0x19
call edi
push 0x102284d0
lea ecx, [ebp - 0x1e8]
mov byte [ebp - 4], 0x1a
call edi
push 0x102286b8
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 0x1b
call edi
push 0x102284e0
lea ecx, [ebp - 0x1d8]
mov byte [ebp - 4], 0x1c
call edi
push 0x102288b0
lea ecx, [ebp - 0x1d0]
mov byte [ebp - 4], 0x1d
call edi
push 0x102284f0
lea ecx, [ebp - 0x1c8]
mov byte [ebp - 4], 0x1e
call edi
push 0x102286c0
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 0x1f
call edi
push 0x10228500
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 0x20
call edi
mov byte [ebp - 4], 0x21
push 0x102288b8
lea ecx, [ebp - 0x1b0]
call edi
push 0x10228510
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 0x22
call edi
push 0x102286c8
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x23
call edi
push 0x10228520
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0x24
call edi
push 0x102288c0
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0x25
call edi
push 0x10228530
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0x26
call edi
push 0x102286d0
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 0x27
call edi
push 0x10228540
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x28
call edi
push 0x102288c8
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 0x29
call edi
push 0x10228550
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0x2a
call edi
push 0x102286d8
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x2b
call edi
push 0x10228560
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x2c
call edi
push 0x102288d0
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x2d
call edi
push 0x10228570
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x2e
call edi
push 0x102286e0
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0x2f
call edi
push 0x10228580
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 0x30
call edi
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x130]
push 0x102288d8
call edi
push 0x10228590
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x32
call edi
push 0x102286e8
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 0x33
call edi
push 0x102285a0
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x34
call edi
push 0x102288e0
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x35
call edi
push 0x102285b0
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x36
call edi
push 0x102286f0
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x37
call edi
push 0x102285c0
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x38
call edi
push 0x102288e8
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x39
call edi
push 0x102285d0
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x3a
call edi
push 0x102286f8
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x3b
call edi
push 0x102285e0
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x3c
call edi
push 0x102288f0
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x3d
call edi
push 0x102285f0
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x3e
call edi
push 0x10228700
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x3f
call edi
push 0x10228600
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x40
call edi
push 0x102288f8
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x41
call edi
push 0x102287b8
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x42
call edi
push 0x102287d0
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x43
call edi
push 0x102287d8
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x44
call edi
push 0x10228900
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x45
call edi
push 0x102287e8
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x46
call edi
push 0x10228800
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x47
call edi
push 0x10228808
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x48
call edi
push 0x10228908
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x49
call edi
push 0x10228818
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x4a
call edi
push 0x10228830
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x4b
call edi
push 0x10228838
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x4c
call edi
push 0x10228910
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x4d
call edi
push 0x10228848
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x4e
call edi
push 0x10228860
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x4f
call edi
push 0x10228868
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x50
call edi
mov esi, dword [0x101a70f4]
lea ecx, [ebp - 0x30]
push 0
mov byte [ebp - 4], 0x51
call esi
push 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x52
call esi
push 0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x53
call esi
push 0
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x54
call esi
mov ecx, dword [ebx + 0xd8]
mov esi, dword [0x101a6068]
push 0x102257e0
push 1
push 0x102275f4
mov byte [ebp - 4], 0x55
call esi
xorps xmm1, xmm1
movsd qword [ebp - 0x328], xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
movsd xmm0, qword [0x101acb20]
movsd qword [ebp - 0x320], xmm0
jbe 0x100185de
mov ecx, dword [ebx + 0xd8]
push 0x102257e0
push 1
push 0x102275f4
call esi
movsd xmm1, qword [ebp - 0x320]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm1, xmm0
ja 0x10018686
mov ecx, dword [ebx + 0xd8]
push 0x102257e8
push 1
push 0x102275f4
call esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x328]
jbe 0x1001862e
mov ecx, dword [ebx + 0xd8]
push 0x102257e8
push 1
push 0x102275f4
call esi
movsd xmm1, qword [ebp - 0x320]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm1, xmm0
ja 0x10018686
mov ecx, dword [ebx + 0xd8]
push 0x10225920
push 1
push 0x102275f4
call esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x328]
jbe 0x10018838
mov ecx, dword [ebx + 0xd8]
push 0x10225920
push 1
push 0x102275f4
call esi
movsd xmm1, qword [ebp - 0x320]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm1, xmm0
jbe 0x10018838
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x310], 0
test eax, eax
jle 0x1001883e
xor esi, esi
mov ecx, dword [ebx + 0xd8]
lea eax, [ebp - 0x2b0]
add eax, esi
push eax
push 1
push 0x102276a8
lea eax, [ebp - 0x2c8]
push eax
call dword [0x101a608c]
mov ebx, dword [ebp - 0x2b4]
lea eax, [ebp - 0x2c8]
mov edi, dword [ebp - 0x2c8]
cmp ebx, 0x10
push 7
push str.Private
push dword [ebp - 0x2b8]
cmovae eax, edi
mov byte [ebp - 4], 0x56
push eax
setae byte [ebp - 0x305]
call fcn.1000f0f0
add esp, 0x10
test al, al
jne 0x1001872e
cmp byte [ebp - 0x305], 0
lea eax, [ebp - 0x2c8]
push 0x14
push str.Other_public_pension
push dword [ebp - 0x2b8]
cmovne eax, edi
push eax
call fcn.1000f0f0
add esp, 0x10
test al, al
je 0x100187d9
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x2a0]
add eax, esi
push eax
call dword [0x101a6034]
test al, al
je 0x10018775
mov ecx, dword [ebp + 0xc]
lea edi, [ebp - 0x298]
add edi, esi
push edi
call dword [0x101a603c]
test al, al
je 0x10018775
mov ecx, dword [ebp + 0xc]
push edi
call dword [0x101a601c]
mov ecx, dword [eax + 4]
call dword [0x101a6008]
test al, al
jne 0x10018775
mov bl, 1
jmp 0x1001877f
lea edi, [ebp - 0x298]
xor bl, bl
add edi, esi
push 0
push str.You_havent_entered_an_eligible_retirement_and_pension_amount._Check_to_make_sure_none_of_your_distributions_are_eligible_for_the_Michigan_subtraction._If_the_distribution_is_from_military_retirement__no_entry_is_necessary_for_that_amount__it_will_be_carried_to_Schedule_1__military_subtractions.
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x318], esp
push edi
call dword [0x101a70ec]
push dword [ebp + 0x44]
mov byte [ebp - 4], 0x57
push 0x102276a8
push 7
push ebx
push 3
push 0
sub esp, 8
mov ecx, esp
push 0
call dword [0x101a70d4]
push dword [0x101a60c0]
mov ecx, dword [ebp - 0x30c]
mov byte [ebp - 4], 0x56
call fcn.10094620
mov ebx, dword [ebp - 0x2b4]
mov edi, dword [ebp - 0x2c8]
mov byte [ebp - 4], 0x55
cmp ebx, 0x10
jb 0x1001880b
inc ebx
mov eax, edi
cmp ebx, 0x1000
jb 0x10018801
mov edi, dword [eax - 4]
add ebx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10018a0f
push ebx
push edi
call fcn.101349c3
add esp, 8
mov eax, dword [ebp - 0x310]
mov ebx, dword [ebp - 0x30c]
inc eax
movzx esi, ax
shl esi, 5
mov dword [ebp - 0x310], eax
cmp dword [ebp + esi - 0x2ac], 0
jg 0x100186a0
mov edi, dword [0x101a70ec]
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x314], 0
test eax, eax
jle 0x100189b4
xor esi, esi
push 0
lea ecx, [ebp - 0x2bc]
call dword [0x101a70dc]
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 0x58
add ecx, esi
lea eax, [ebp - 0x2a0]
add eax, esi
push ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x318], eax
call dword [0x101a6024]
test al, al
je 0x100188a5
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x2a0]
add eax, esi
push eax
call dword [0x101a6034]
mov byte [ebp - 0x310], 1
test al, al
jne 0x100188ac
mov byte [ebp - 0x310], 0
push 0
push str.You_havent_entered_a_federal_employer_identification_number__FEIN__for_your_pension_payer._Return_to_your_federal_1099_R_worksheet_and_enter_it_there.
sub esp, 8
lea eax, [ebp - 0x2a8]
add eax, esi
mov dword [ebp - 0x324], esp
mov ecx, esp
push eax
call edi
push dword [ebp + 0x44]
lea eax, [ebp - 0x2bc]
mov byte [ebp - 4], 0x59
push eax
push 4
push dword [ebp - 0x310]
push 3
push 0
sub esp, 8
mov ecx, esp
push 0
call dword [0x101a70d4]
push dword [0x101a60c0]
mov ecx, ebx
mov byte [ebp - 4], 0x58
call fcn.10094620
lea ecx, [ebp - 0x2bc]
mov byte [ebp - 4], 0x55
call dword [0x101a70d8]
push dword [ebp - 0x318]
lea ecx, [ebp - 0x2b0]
add esi, ecx
mov ecx, dword [ebp + 0xc]
call dword [0x101a6034]
test al, al
je 0x10018941
mov ecx, dword [ebp + 0xc]
push esi
call dword [0x101a6024]
mov byte [ebp - 0x30c], 1
test al, al
jne 0x10018948
mov byte [ebp - 0x30c], 0
push 0
push str.Type_of_pension
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x31c], esp
push esi
call edi
push dword [ebp + 0x44]
mov byte [ebp - 4], 0x5a
push 0x102276a8
push 4
push dword [ebp - 0x30c]
push 3
push 0
sub esp, 8
mov ecx, esp
push 0
call dword [0x101a70d4]
push dword [0x101a60c0]
mov ecx, ebx
mov byte [ebp - 4], 0x55
call fcn.10094620
mov eax, dword [ebp - 0x314]
inc eax
movzx esi, ax
shl esi, 5
mov dword [ebp - 0x314], eax
cmp dword [ebp + esi - 0x2ac], 0
jg 0x10018852
push 0x1000fe90
push 0x15
push 0x20
lea eax, [ebp - 0x2b0]
mov byte [ebp - 4], 1
push eax
call fcn.1013484f
lea ecx, [ebp - 0x304]
mov dword [ebp - method.DataMgmt::TaxFormPtr.virtual_0], vtable.DataMgmt::TaxFormPtr.0
call fcn.1000ff70
lea ecx, [ebp + 8]
mov dword [ebp + 8], vtable.DataMgmt::TaxFormPtr.0
call fcn.1000ff70
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10134812
mov esp, ebp
pop ebp
ret 0x40
call dword [0x101a7194]
int3