Function at 0x10016420
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10137453
mov eax, dword fs:[0]
push eax
sub esp, 0x138
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 esi, ecx
mov dword [ebp - 0x144], esi
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 4], 0
cmp byte [ecx + 0x3e], 0
je 0x100169c4
cmp byte [esi + 5], 0
jne 0x10016483
push 0x10226fd8
call dword [0x101a6040]
test al, al
je 0x10016483
mov bl, 1
jmp 0x10016485
xor bl, bl
push 0
push str.Complete_and_include_City_of_Detroit_Withholding_Tax_Continuation_Schedule__Form_5253__to_report_additional_withholding_with_your_Detroit_return.
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x138], esp
push 0
call dword [0x101a70f4]
mov edi, dword [ebp + 0x44]
push edi
push 0x102276cc
push 7
push ebx
push 8
push 0
sub esp, 8
mov byte [ebp - 4], 1
mov ecx, esp
push 0
call dword [0x101a70d4]
push dword [0x101a60c0]
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.10094620
cmp byte [esi + 5], 0
je 0x100164f0
mov ecx, dword [ebp + 0xc]
push 0x10226fd8
call dword [0x101a6040]
mov byte [ebp - 0x134], 1
test al, al
jne 0x100164f7
mov byte [ebp - 0x134], 0
mov ebx, dword [0x101a70ec]
push 0
push str.You_have_Detroit_withholding_from_more_than_eight_W_2s_and_or_1099s_on_Detroit_Form_5121
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x138], esp
push 0x10226fd8
call ebx
push edi
push 0x102276cc
push 6
push dword [ebp - 0x134]
mov byte [ebp - 4], 2
push 0x22
push 0
sub esp, 8
mov ecx, esp
push 0
call dword [0x101a70d4]
push dword [0x101a60c0]
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.10095080
cmp byte [esi + 5], 0
mov edi, dword [0x101a6034]
je 0x1001656b
mov ecx, dword [ebp + 0xc]
push 0x10226fd0
call edi
mov byte [ebp - 0x134], 1
test al, al
jne 0x10016572
mov byte [ebp - 0x134], 0
push 0
push str.You_have_Detroit_City_taxes_paid_for_you_by_a_partnership
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x138], esp
push 0x10226fd0
call ebx
push dword [ebp + 0x44]
mov byte [ebp - 4], 3
push 0x102276cc
push 6
push dword [ebp - 0x134]
push 0x22
push 0
sub esp, 8
mov ecx, esp
push 0
call dword [0x101a70d4]
push dword [0x101a60c0]
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.10095080
push 0x10227000
lea ecx, [ebp - 0x130]
call ebx
push 0x10227018
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 4
call ebx
push 0x10227038
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 5
call ebx
push 0x10227028
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 6
call ebx
push 0x10227050
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 7
call ebx
push 0x10227068
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 8
call ebx
push 0x10227088
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 9
call ebx
push 0x10227078
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0xa
call ebx
push 0x102270a0
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0xb
call ebx
push 0x102270b8
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0xc
call ebx
push 0x102270d8
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0xd
call ebx
push 0x102270c8
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0xe
call ebx
push 0x102270f0
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0xf
call ebx
push 0x10227108
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x10
call ebx
push 0x10227128
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x11
call ebx
push 0x10227118
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x12
call ebx
push 0x10227140
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x13
call ebx
push 0x10227158
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x14
call ebx
push 0x10227178
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x15
call ebx
push 0x10227168
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x16
call ebx
push 0x10227190
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x17
call ebx
push 0x102271a8
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x18
call ebx
push 0x102271c8
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x19
call ebx
push 0x102271b8
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x1a
call ebx
push 0x102271e0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x1b
call ebx
push 0x102271f8
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x1c
call ebx
push 0x10227218
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x1d
call ebx
push 0x10227208
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x1e
call ebx
push 0x10227230
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x1f
call ebx
push 0x10227248
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x20
call ebx
push 0x10227268
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x21
call ebx
push 0x10227258
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x22
call ebx
mov ebx, dword [0x101a70f4]
lea ecx, [ebp - 0x30]
push 0
mov byte [ebp - 4], 0x23
call ebx
push 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x24
call ebx
push 0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x25
call ebx
push 0
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x26
call ebx
xor ebx, ebx
mov byte [ebp - 4], 0x27
mov dword [ebp - 0x138], ebx
cmp dword [ebp - 0x12c], ebx
jle 0x100169ab
xor esi, esi
nop dword [eax + eax]
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x118]
add eax, esi
push eax
call edi
test al, al
je 0x10016990
mov ecx, dword [ebp + 0xc]
lea edi, [ebp - 0x130]
add edi, esi
push edi
call dword [0x101a6028]
cmp eax, 0x104
je 0x1001686c
mov ecx, dword [ebp + 0xc]
push edi
call dword [0x101a6034]
test al, al
je 0x1001686c
mov ecx, dword [ebp + 0xc]
lea ebx, [ebp - 0x120]
add ebx, esi
push ebx
call dword [0x101a6024]
test al, al
je 0x1001686c
mov byte [ebp - 0x134], 1
jmp 0x1001687b
lea ebx, [ebp - 0x120]
mov byte [ebp - 0x134], 0
add ebx, esi
push 0
push str.Explanation_if_number_of_days_paid_is_not_260
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x13c], esp
push ebx
call dword [0x101a70ec]
push dword [ebp + 0x44]
mov byte [ebp - 4], 0x28
push 0x102276cc
push 4
push dword [ebp - 0x134]
push 3
push 0
sub esp, 8
mov ecx, esp
push 0
call dword [0x101a70d4]
push dword [0x101a60c0]
mov ebx, dword [ebp - 0x144]
mov ecx, ebx
mov byte [ebp - 4], 0x27
call fcn.10094620
push 0
push str.Number_of_days_worked_in_Detroit_is_zero
sub esp, 8
lea eax, [ebp - 0x128]
add esi, eax
mov dword [ebp - 0x140], esp
mov ecx, esp
push esi
call dword [0x101a70ec]
push dword [ebp + 0x44]
mov ecx, dword [ebp + 0xc]
push 0x102276cc
push 7
push esi
mov byte [ebp - 4], 0x29
call dword [0x101a603c]
mov esi, dword [0x101a70d4]
movzx eax, al
push eax
push 3
push 0
sub esp, 8
mov ecx, esp
push 0
call esi
push dword [0x101a60c0]
mov ecx, ebx
mov byte [ebp - 4], 0x27
call fcn.10094620
push 0
push str.You_cannot_e_file_your_Michigan_return_if_the_days_paid_is_zero
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x140], esp
push edi
call dword [0x101a70ec]
push dword [ebp + 0x44]
mov ecx, dword [ebp + 0xc]
push 0x102276cc
push 6
push edi
mov byte [ebp - 4], 0x2a
call dword [0x101a603c]
movzx eax, al
push eax
push 2
push 0
sub esp, 8
mov ecx, esp
push 0
call esi
push dword [0x101a60c0]
mov ecx, ebx
mov byte [ebp - 4], 0x27
call fcn.10094620
mov ebx, dword [ebp - 0x138]
mov edi, dword [0x101a6034]
inc ebx
movzx esi, bx
shl esi, 5
mov dword [ebp - 0x138], ebx
cmp dword [ebp + esi - 0x12c], 0
jg 0x10016810
push 0x1000fee0
push 9
push 0x20
lea eax, [ebp - 0x130]
mov byte [ebp - 4], 0
push eax
call fcn.1013484f
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