Function at 0x4cf8c0
Capabilities:
Parse credit card information

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x6c
mov dword [esp + 0xc], 0xc9
mov dword [esp + 8], str.do_code_width
mov dword [esp + 4], str._s__d__n
mov dword [esp], 0x34
call fcn.0043ce70
mov edx, dword [0x6bbeac]
test edx, edx
js 0x4d07a0
call fcn.0041eef0
cmp byte [eax + 0xac], 0
mov ebp, eax
jne 0x4cfdba
lea esi, [esi]
mov eax, dword [ebp]
sub eax, 6
and eax, 0xfffffffb
cmp eax, 2
ja 0x4cf928
mov ebx, ebp
jmp 0x4cfd9a
lea eax, [ebp + 0x74]
mov ebx, dword [ebp + 0x18]
mov ecx, eax
mov dword [esp + 0x34], eax
call fcn.004c47b0
lea ebx, [ebx + eax - 1]
cmp dword [0x6ba464], ebx
jae 0x4cfe40
mov ecx, dword [esp + 0x34]
call fcn.004c4fa0
mov dword [esp + 0x20], 0x6087b0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ebx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], 0x7a
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.is_past_width
mov dword [esp + 4], str._s__d_:_orig_line__zu__orig_col__zu__curr_col__zu__text__s__past_width__s_n
mov dword [esp], 0x34
call fcn.0043ce70
cmp byte [ebp + 0xac], 0
jne 0x4cff00
mov eax, dword [ebp]
cmp eax, 0xad
je 0x4cfef0
mov dword [esp], eax
call fcn.004c29e0
mov ecx, dword [esp + 0x34]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov ebx, eax
call fcn.004c4fa0
mov dword [esp + 0x1c], ebx
xor ebx, ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], esi
mov esi, str.FALSE
mov dword [esp + 0x18], edi
mov dword [esp + 0xc], 0x164
mov dword [esp + 8], str.split_line
mov dword [esp + 4], str._s__d_:_start_text__s__orig_line__zu__orig_col__zu__type__s_n
mov dword [esp], 0x34
call fcn.0043ce70
mov dword [esp + 4], str.___flags
mov dword [esp], 0x34
call fcn.0043ce70
mov eax, dword [ebp + 0x38]
mov edx, dword [ebp + 0x3c]
mov dword [esp], 0x34
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00473290
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x3c]
mov ecx, eax
and ecx, 0x10
mov dword [esp + 0x38], ecx
or ecx, ebx
je 0x4cfa4e
mov esi, str.TRUE
and eax, 8
xor ecx, ecx
mov ebx, str.FALSE
or eax, ecx
je 0x4cfa61
mov ebx, str.TRUE
mov eax, dword [ebp + 4]
mov dword [esp], eax
call fcn.004c29e0
mov dword [esp + 0xc], ebx
xor ebx, ebx
mov dword [esp + 8], eax
mov dword [esp + 0x10], esi
mov dword [esp + 4], str.___parent_type__s___PCF_IN_FCN_DEF__s____PCF_IN_FCN_CALL__s__n
mov dword [esp], 0x34
call fcn.0043ce70
mov eax, dword [ebp + 0x38]
mov ecx, eax
and ecx, 0x40000000
or ecx, ebx
jne 0x4d0660
cmp byte [0x6ba434], 0
jne 0x4d0378
mov ecx, eax
xor ebx, ebx
and ecx, 0x2000
or ecx, ebx
jne 0x4d06f0
mov ecx, eax
xor ebx, ebx
and ecx, 0x18
or ecx, ebx
je 0x4d08b8
mov dword [esp + 4], str.__FUNC_SPLIT__n
mov dword [esp], 0x34
call fcn.0043ce70
cmp byte [0x6ba444], 0
jne 0x4d04a0
mov eax, dword [0x5ee1ec]
mov dword [esp + 0x40], eax
mov dword [esp + 0xc], 0x1a8
mov dword [esp + 8], str.split_line
mov dword [esp + 4], str._s__d_:_try_to_find_a_split_point_n
mov dword [esp], 0x34
call fcn.0043ce70
mov dword [esp], 0
mov ecx, ebp
mov esi, dword [esp + 0x40]
call fcn.0041e660
sub esp, 4
cmp byte [eax + 0xac], 0
mov ebx, eax
mov dword [esp + 0x38], esi
jne 0x4cfb5f
mov dword [esp + 0x48], 3
mov dword [esp + 0x40], ebp
mov eax, dword [ebx]
sub eax, 7
cmp eax, 1
ja 0x4cff10
mov ebp, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
cmp byte [eax + 0xac], 0
je 0x4d0148
mov eax, dword [ebp]
mov dword [esp], eax
call fcn.004c29e0
mov ecx, dword [esp + 0x34]
mov ebx, eax
call fcn.004c4fa0
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], 0x1c9
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.split_line
mov dword [esp + 4], str._s__d_:____TRY_SPLIT_yielded_NO_SOLUTION_for_orig_line__zu_at__s___s__n
mov dword [esp], 0x34
call fcn.0043ce70
mov eax, dword [esp + 0x38]
cmp byte [eax + 0xac], 0
je 0x4d01e4
movzx ebx, byte [esi + 0xac]
test bl, bl
jne 0x4d0328
mov dword [esp], 0
mov ecx, esi
call fcn.0041e660
sub esp, 4
cmp byte [eax + 0xac], 0
jne 0x4cfc0e
cmp byte [esi + 0xac], 0
jne 0x4cfdc8
mov edi, dword [esi]
lea edx, [edi - 7]
cmp edx, 1
ja 0x4cfdc8
mov dword [esp], 0
mov ecx, esi
call fcn.0041e5f0
sub esp, 4
mov ecx, eax
mov esi, eax
mov dword [esp], 0
call fcn.0041e5f0
sub esp, 4
cmp byte [esi + 0xac], 0
jne 0x4cfc7b
mov edx, esi
mov ebx, 0xffeaeaaa
mov esi, eax
lea esi, [esi]
mov eax, dword [edx]
cmp eax, 0x6b
je 0x4cfc5b
lea ecx, [eax - 0x5f]
cmp ecx, 1
ja 0x4cfdf0
mov dword [esp], 0
mov ecx, esi
call fcn.0041e5f0
mov edx, esi
sub esp, 4
cmp byte [esi + 0xac], 0
je 0x4cfde8
mov dword [esp], 0
mov ecx, esi
call fcn.0041e660
sub esp, 4
cmp byte [eax + 0xac], 0
jne 0x4cfd28
cmp byte [esi + 0xac], 0
jne 0x4cfcac
mov edi, dword [esi]
lea edx, [edi - 7]
cmp edx, 1
jbe 0x4cfd28
mov eax, dword [eax]
sub eax, 7
cmp eax, 1
jbe 0x4cfd28
mov eax, dword [ebp]
mov dword [esp], eax
call fcn.004c29e0
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x38], eax
call fcn.004c4fa0
mov edi, eax
mov eax, dword [esi]
mov dword [esp], eax
call fcn.004c29e0
lea ecx, [esi + 0x74]
mov ebx, eax
call fcn.004c4fa0
mov edx, dword [esp + 0x38]
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], 0x242
mov dword [esp + 8], str.split_line
mov dword [esp + 4], str._s__d_:_Text____s__type__s__started_on_token__s__type__s_n
mov dword [esp], 0x34
call fcn.0043ce70
mov eax, esi
call fcn.004cf2f0
lea esi, cs:[esi]
mov dword [esp + 0x10], 1
mov ecx, ebp
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], 0x4f8f80
mov dword [esp + 4], 0
call fcn.0041ef30
sub esp, 0x14
mov ebx, eax
mov ecx, dword [esp + 0x34]
call fcn.004c4fa0
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], 0xee
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.do_code_width
mov dword [esp + 4], str._s__d_:_orig_line__zu__orig_col__zu__text__s_splitted_n
mov dword [esp], 0x34
call fcn.0043ce70
mov dword [esp], 0
mov ecx, ebx
call fcn.0041e5f0
sub esp, 4
cmp byte [eax + 0xac], 0
mov ebp, eax
je 0x4cf910
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [eax]
sub eax, 7
cmp eax, 1
jbe 0x4cfc0e
test bl, bl
jne 0x4cfc0e
jmp 0x4cfc7b
mov esi, eax
jmp 0x4cfc48
lea ecx, [eax - 0x9b]
cmp ecx, 0x14
jbe 0x4cfe98
lea ecx, [eax - 0x9a]
cmp ecx, 0xc
jbe 0x4d0110
sub eax, 0xaa
and eax, 0xfffffffd
jne 0x4cfe38
cmp byte [esi + 0xac], 0
jne 0x4cfe38
mov eax, dword [esi]
sub eax, 0xab
and eax, 0xfffffffd
je 0x4cfc5b
lea esi, [esi]
mov esi, edx
jmp 0x4cfc7b
mov ecx, dword [esp + 0x34]
call fcn.004c4fa0
mov dword [esp + 0x18], ebx
mov ebx, ebp
mov dword [esp + 0x20], 0x608d63
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], 0x7a
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.is_past_width
mov dword [esp + 4], str._s__d_:_orig_line__zu__orig_col__zu__curr_col__zu__text__s__past_width__s_n
mov dword [esp], 0x34
call fcn.0043ce70
jmp 0x4cfd9a
bt ebx, ecx
jae 0x4cfc5b
lea ecx, [eax - 0x9a]
cmp ecx, 0xc
jbe 0x4d00fa
lea ecx, [eax - 0xaa]
and ecx, 0xfffffffd
je 0x4cfe18
cmp eax, 0xae
jne 0x4cfe38
cmp byte [esi + 0xac], 0
jne 0x4cfe38
cmp dword [esi], 0xaf
je 0x4cfc5b
mov esi, edx
jmp 0x4cfc7b
mov ecx, ebp
call fcn.0041f900
test al, al
jne 0x4cf91e
nop
mov eax, dword [ebp]
jmp 0x4cf9af
lea ecx, [ebx + 0x74]
mov ebp, dword [ebx + 0xc]
mov edi, dword [ebx + 8]
mov dword [esp + 0x44], ecx
call fcn.004c4fa0
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x1b4
mov dword [esp + 8], str.split_line
mov dword [esp + 4], str._s__d_:_text__s__orig_line_is__zu__orig_col_is__zu_n
mov dword [esp], 0x34
call fcn.0043ce70
cmp byte [ebx + 0xac], 0
mov ecx, dword [esp + 0x44]
mov edx, dword [ebx]
jne 0x4cff6a
cmp edx, 6
je 0x4d000f
mov dword [esp + 0x4c], 0x5e7980
mov ebp, 0x5e7a18
mov eax, 0x5e7980
jmp 0x4cff8b
add eax, 8
cmp ebp, eax
je 0x4d0038
mov edi, dword [eax + 4]
cmp edx, dword [eax]
jne 0x4cff80
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x44], edx
call fcn.004c4fa0
mov edx, dword [esp + 0x44]
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], 0x110
mov dword [esp + 8], str.try_split_here
mov dword [esp + 4], str._s__d_:_text__s__orig_col__zu_pc_pri__zu_n
mov dword [esp], 0x34
call fcn.0043ce70
test edi, edi
jne 0x4d0079
mov dword [esp + 0xc], 0x114
mov dword [esp + 8], str.try_split_here
mov dword [esp + 4], str._s__d_:_pc_pri_is_0__return_n
mov dword [esp], 0x34
call fcn.0043ce70
mov eax, dword [esp + 0x38]
cmp byte [eax + 0xac], 0
je 0x4d03f8
mov dword [esp], 0
mov ecx, ebx
call fcn.0041e660
sub esp, 4
cmp byte [eax + 0xac], 0
mov ebx, eax
je 0x4cfb4d
jmp 0x4cfb5b
mov edi, dword [ebx + 0xc]
call fcn.004c4fa0
mov dword [esp + 0x18], 0x64
mov dword [esp + 0x14], edi
mov edi, 0x64
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x110
mov dword [esp + 8], str.try_split_here
mov dword [esp + 4], str._s__d_:_text__s__orig_col__zu_pc_pri__zu_n
mov dword [esp], 0x34
call fcn.0043ce70
mov dword [esp], 0
mov ecx, ebx
call fcn.0041e660
sub esp, 4
cmp byte [eax + 0xac], 0
jne 0x4cfffe
mov edx, dword [eax]
movzx ecx, byte [ebx + 0xac]
sub edx, 7
cmp edx, 1
ja 0x4d03b0
test cl, cl
jne 0x4d00b9
cmp dword [ebx], 0x17
je 0x4d10e4
mov eax, dword [eax + 8]
mov dword [esp + 0xc], 0x121
mov dword [esp + 8], str.try_split_here
mov dword [esp + 0x10], eax
mov dword [esp + 4], str._s__d_:_cant_split_after_a_newline__orig_line_is__zu__return_n
mov dword [esp], 0x34
call fcn.0043ce70
mov eax, dword [esp + 0x38]
cmp byte [eax + 0xac], 0
jne 0x4d000f
jmp 0x4d03f8
mov eax, 0xffffeaae
bt eax, ecx
jb 0x4cfe38
lea esi, cs:[esi]
cmp byte [esi + 0xac], 0
jne 0x4cfe38
mov eax, dword [esi]
sub eax, 0x9b
cmp eax, 0xc
ja 0x4cfe38
mov ecx, 0xffffeaae
bt ecx, eax
jae 0x4cfc5b
mov esi, edx
jmp 0x4cfc7b
mov edi, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004c29e0
mov ebx, eax
mov eax, dword [esp + 0x38]
lea ecx, [eax + 0x74]
mov dword [esp + 0x40], ecx
call fcn.004c4fa0
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], edi
mov dword [esp + 0xc], 0x1ce
mov dword [esp + 8], str.split_line
mov dword [esp + 4], str._s__d_:____TRY_SPLIT_yielded__s___s__on_orig_line__zu_n
mov dword [esp], 0x34
call fcn.0043ce70
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov ebx, dword [eax + 0xc]
call fcn.004c4fa0
mov dword [esp + 0xc], 0x1d0
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 8], str.split_line
mov dword [esp + 4], str._s__d_:_ent_at__s__orig_col_is__zu_n
mov dword [esp], 0x34
call fcn.0043ce70
mov eax, dword [esp + 0x38]
cmp byte [eax + 0xac], 0
jne 0x4cfbca
mov dword [esp + 0xc], 0x608c42
mov dword [esp + 8], 0x1da
mov dword [esp + 4], str.split_line
mov dword [esp], 0x34
call fcn.0043d970
mov dword [esp + 0xc], 0x608c4c
mov dword [esp + 8], 0x1db
mov dword [esp + 4], str.split_line
mov dword [esp], 0x34
call fcn.0043d970
mov dword [esp + 0xc], 0x608c57
mov dword [esp + 8], 0x1dc
mov dword [esp + 4], str.split_line
mov dword [esp], 0x34
call fcn.0043d970
mov dword [esp + 0xc], 0x608c63
mov dword [esp + 8], 0x1dd
mov dword [esp + 4], str.split_line
mov dword [esp], 0x34
call fcn.0043d970
mov dword [esp + 0xc], 0x608c73
mov dword [esp + 8], 0x1de
mov dword [esp + 4], str.split_line
mov dword [esp], 0x34
call fcn.0043d970
mov dword [esp + 0xc], 0x608c7d
mov dword [esp + 8], 0x1df
mov dword [esp + 4], str.split_line
mov dword [esp], 0x34
call fcn.0043d970
mov eax, dword [esp + 0x38]
cmp byte [eax + 0xac], 0
je 0x4d0460
mov dword [esp], 0
mov ecx, dword [esp + 0x38]
call fcn.0041e5f0
sub esp, 4
mov esi, eax
mov ebx, dword [esi + 0xc]
lea ecx, [esi + 0x74]
call fcn.004c4fa0
mov dword [esp + 0xc], 0x1f7
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.split_line
mov dword [esp + 4], str._s__d_:_at__s__orig_col_is__zu_n
mov dword [esp], 0x34
call fcn.0043ce70
movzx ebx, byte [esi + 0xac]
test bl, bl
je 0x4cfbd9
mov dword [esp], 0
mov ecx, ebp
call fcn.0041e5f0
sub esp, 4
cmp byte [ebp + 0xac], 0
jne 0x4d0d18
mov edx, dword [ebp]
cmp edx, 0x6b
je 0x4d035a
lea ecx, [edx - 0x5f]
cmp ecx, 1
ja 0x4d0cd0
mov dword [esp + 4], str.Move_forward_past_the_chuck
mov esi, ebp
mov dword [esp], 0x34
call fcn.0043ce70
jmp 0x4cfbd9
mov dword [esp + 0xc], 0x608729
mov dword [esp + 8], 0x17a
mov dword [esp + 4], str.split_line
mov dword [esp], 0x34
call fcn.0043d970
mov eax, dword [0x5ee1ec]
mov dword [esp + 0x40], eax
jmp 0x4cfaf9
test cl, cl
je 0x4d1078
cmp byte [0x6ba434], 0
jne 0x4d0f74
cmp edi, 0x15
ja 0x4d120c
mov eax, dword [esp + 0x38]
cmp byte [eax + 0xac], 0
jne 0x4d0f32
mov eax, dword [esp + 0x48]
cmp edi, eax
jb 0x4d0f32
je 0x4d0f0d
lea esi, [esi]
cmp byte [0x6ba434], 0
je 0x4d000f
mov dword [esp + 0xc], 0x608729
mov ebp, dword [esp + 0x40]
mov dword [esp + 8], 0x1be
mov dword [esp + 4], str.split_line
mov dword [esp], 0x34
call fcn.0043d970
mov dword [esp + 0xc], 0x1bf
mov dword [esp + 8], str.split_line
mov dword [esp + 4], str._s__d_:_found_split_n
mov dword [esp], 0x34
call fcn.0043ce70
jmp 0x4cfb5f
mov eax, dword [eax]
cmp eax, 0x43
je 0x4d0e48
cmp eax, 0x41
je 0x4d0ef7
cmp eax, 0x44
je 0x4d0ef7
cmp eax, 0x38
jne 0x4d11d6
mov esi, dword [esp + 0x38]
test byte [0x6ba540], 4
jne 0x4d02e2
jmp 0x4d02cd
mov dword [esp + 0xc], 0x608824
mov ebx, ebp
mov dword [esp + 8], 0x194
mov dword [esp + 4], str.split_line
mov dword [esp], 0x34
call fcn.0043d970
mov ecx, dword [esp + 0x34]
call fcn.004c4fa0
mov dword [esp + 0xc], 0x2ce
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.split_fcn_params_full
mov dword [esp + 4], str._s__d_:_start_at__s_n
mov dword [esp], 0x34
call fcn.0043ce70
mov dword [esp + 0xc], 0x2d3
mov dword [esp + 8], str.split_fcn_params_full
mov dword [esp + 4], str.___s__d_:_search_for_opening_function_parenthesis_n
mov dword [esp], 0x34
call fcn.0043ce70
lea esi, cs:[esi]
mov dword [esp], 0
mov ecx, ebx
call fcn.0041e660
sub esp, 4
cmp byte [eax + 0xac], 0
mov ebx, eax
jne 0x4d05ba
mov edi, dword [ebx + 0x28]
mov esi, dword [ebx + 0xc]
lea ecx, [ebx + 0x74]
call fcn.004c4fa0
mov dword [esp + 0xc], 0x2d8
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.split_fcn_params_full
mov dword [esp + 4], str.___s__d_:__s__orig_col_is__zu__level_is__zu_n
mov dword [esp], 0x34
call fcn.0043ce70
cmp byte [ebx + 0xac], 0
jne 0x4d0520
cmp dword [ebx], 0xa2
jne 0x4d0520
mov eax, dword [ebp + 0x28]
sub eax, 1
cmp dword [ebx + 0x28], eax
jne 0x4d0520
mov dword [esp + 0xc], 0x2dd
mov dword [esp + 8], str.split_fcn_params_full
mov dword [esp + 4], str.___s__d_:_found_open_paren_n
mov dword [esp], 0x34
call fcn.0043ce70
mov dword [esp + 0x10], 0
mov ecx, ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], fcn.004f8d80
mov dword [esp + 4], 0
jmp 0x4d060f
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], fcn.004f8d80
mov dword [esp + 4], 0
call fcn.0041ef30
sub esp, 0x14
cmp byte [eax + 0xac], 0
mov ecx, eax
jne 0x4d0c10
mov edx, dword [eax + 0x28]
mov eax, dword [ebx + 0x28]
cmp eax, edx
jae 0x4d0c10
add eax, 1
cmp edx, eax
jne 0x4d05e8
cmp dword [ecx], 0x6b
jne 0x4d05e8
mov dword [esp], 0
mov dword [esp + 0x38], ecx
call fcn.0041e5f0
sub esp, 4
call fcn.004cf2f0
mov ecx, dword [esp + 0x38]
jmp 0x4d05e8
mov dword [esp + 0xc], 0x170
mov dword [esp + 8], str.split_line
mov dword [esp + 4], str._s__d_:__ONE_LINER_SPLIT__n
mov dword [esp], 0x34
call fcn.0043ce70
mov dword [esp], ebp
call fcn.00459e40
mov dword [esp], 0
call fcn.00449f70
mov ecx, dword [esp + 0x34]
add dword [0x699f30], 1
call fcn.004c4fa0
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], 0xf4
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.do_code_width
mov dword [esp + 4], str._s__d_:_orig_line__zu__orig_col__zu__text__s_not_splitted_n
mov dword [esp], 0x34
call fcn.0043ce70
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], str.__FOR_SPLIT__n
mov dword [esp], 0x34
call fcn.0043ce70
mov dword [esp + 0xc], 0x608749
mov dword [esp + 8], 0x257
mov dword [esp + 4], str.split_for_stmt
mov dword [esp], 0x34
call fcn.0043d970
movzx eax, byte [0x6ba454]
mov ecx, dword [esp + 0x34]
mov ebx, dword [ebp + 8]
lea edi, [eax + 1]
mov eax, dword [0x5ee1ec]
mov dword [esp + 0x40], eax
call fcn.004c4fa0
mov dword [esp + 0x10], ebx
xor ebx, ebx
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.split_for_stmt
mov dword [esp + 4], str._s:_starting_on__s__line__zu_n
mov dword [esp], 0x34
call fcn.0043ce70
mov ecx, ebp
mov dword [esp], 0
call fcn.0041e660
sub esp, 4
cmp byte [eax + 0xac], 0
mov ecx, eax
jne 0x4d0ff0
cmp dword [ecx], 0x9e
je 0x4d07d0
add ebx, dword [ecx + 0x20]
jmp 0x4d076f
mov eax, 0x5e7980
mov edx, 0x5e7a18
jmp 0x4d07bb
add eax, 8
cmp edx, eax
je 0x4cf8f9
cmp dword [eax], 0xa2
jne 0x4d07b0
mov dword [eax + 4], 8
jmp 0x4cf8f9
mov dword [esp + 0x44], ebx
mov esi, ecx
xor ebx, ebx
cmp byte [ebp + 0xac], 0
je 0x4d0e18
mov ecx, ebp
jmp 0x4d07f4
cmp edi, ebx
jle 0x4d0840
mov dword [esp], 0
call fcn.0041e660
sub esp, 4
cmp byte [eax + 0xac], 0
mov ecx, eax
jne 0x4d0850
xor edx, edx
mov eax, dword [eax + 0x38]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x3c]
and eax, 0x20
mov dword [esp + 0x38], eax
or eax, edx
je 0x4d0850
cmp dword [ecx], 0x5f
jne 0x4d07f0
cmp dword [ecx + 4], 0x1d
jne 0x4d07f0
mov dword [esp + ebx*4 + 0x58], ecx
add ebx, 1
cmp edi, ebx
jg 0x4d07f4
lea esi, [esi]
sub ebx, 1
jmp 0x4d0bba
cmp edi, ebx
jle 0x4d128a
mov ecx, ebp
jmp 0x4d0864
cmp ebx, edi
jge 0x4d0840
mov dword [esp], 0
call fcn.0041e5f0
sub esp, 4
cmp byte [eax + 0xac], 0
mov ecx, eax
jne 0x4d0a70
xor edx, edx
mov eax, dword [eax + 0x38]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x3c]
and eax, 0x20
mov dword [esp + 0x38], eax
or eax, edx
je 0x4d0a70
cmp dword [ecx], 0x5f
jne 0x4d0860
cmp dword [ecx + 4], 0x1d
jne 0x4d0860
mov dword [esp + ebx*4 + 0x58], ecx
add ebx, 1
jmp 0x4d0860
cmp dword [ebp + 4], 0xbc
je 0x4cfacf
and eax, 0x40
xor ecx, ecx
or eax, ecx
je 0x4cfaf0
mov dword [esp + 4], str.__TEMPLATE_SPLIT__n
mov ebx, ebp
mov dword [esp], 0x34
call fcn.0043ce70
mov ecx, dword [esp + 0x34]
call fcn.004c4fa0
mov dword [esp + 0xc], 0x2f8
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.split_template
mov dword [esp + 4], str.___s__d_:_start__s_n
mov dword [esp], 0x34
call fcn.0043ce70
mov dword [esp + 0xc], 0x2f9
mov dword [esp + 8], str.split_template
mov dword [esp + 4], str.___s__d_:_back_up_until_the_prev_is_a_comma_n
mov dword [esp], 0x34
call fcn.0043ce70
lea esi, [esi]
mov dword [esp], 0
mov ecx, ebx
call fcn.0041e660
sub esp, 4
cmp byte [eax + 0xac], 0
mov ebx, eax
jne 0x4cfd28
lea ecx, [ebx + 0x74]
call fcn.004c4fa0
mov dword [esp + 0xc], 0x300
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.split_template
mov dword [esp + 4], str.___s__d_:_prev__s_n
mov dword [esp], 0x34
call fcn.0043ce70
cmp byte [ebx + 0xac], 0
jne 0x4d0940
mov eax, dword [ebx]
lea edx, [eax - 7]
cmp edx, 1
ja 0x4d11c8
sub eax, 7
cmp eax, 1
jbe 0x4cfd28
mov dword [esp + 0xc], 0x30c
mov dword [esp + 8], str.split_template
mov dword [esp + 4], str.___s__d_:
mov dword [esp], 0x34
call fcn.0043ce70
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.004c29e0
mov dword [esp + 4], str.____ended_on__s____n
mov dword [esp + 8], eax
mov dword [esp], 0x34
call fcn.0043ce70
mov dword [esp], 0
mov ecx, ebx
call fcn.0041e5f0
sub esp, 4
mov ebx, eax
mov dword [esp], eax
call fcn.0043fb40
mov dword [esp + 0xc], 0x608604
mov dword [esp + 8], 0x312
mov dword [esp + 4], str.split_template
mov dword [esp], 0x34
call fcn.0043d970
mov edx, dword [0x6bbeac]
mov eax, edx
neg eax
cmovs eax, edx
add eax, 1
test edx, edx
je 0x4d1259
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00473bb0
add dword [0x699f30], 1
jmp 0x4cfd28
cmp ebx, 1
je 0x4d0bb8
mov ecx, dword [esp + 0x34]
mov ebx, dword [ebp + 0x18]
call fcn.004c47b0
lea ebx, [ebx + eax - 1]
cmp dword [0x6ba464], ebx
jae 0x4d0d38
mov ecx, dword [esp + 0x34]
call fcn.004c4fa0
mov dword [esp + 0x20], 0x6087b0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ebx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], 0x7a
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.is_past_width
mov dword [esp + 4], str._s__d_:_orig_line__zu__orig_col__zu__curr_col__zu__text__s__past_width__s_n
mov dword [esp], 0x34
call fcn.0043ce70
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x4d0d83
mov ebx, esi
nop
mov dword [esp], 0
mov ecx, ebx
call fcn.0041e5f0
sub esp, 4
mov ebx, eax
cmp eax, ebp
je 0x4d0e5e
cmp byte [ebx + 0xac], 0
jne 0x4d0af0
cmp dword [ebx], 0x6b
jne 0x4d0af0
mov eax, dword [esi + 0x28]
add eax, 1
cmp dword [ebx + 0x28], eax
jne 0x4d0af0
mov dword [esp], 0
mov ecx, ebx
lea edi, [ebx + 0x74]
call fcn.0041e5f0
sub esp, 4
call fcn.004cf2f0
mov edx, dword [ebx + 0x18]
mov ecx, edi
mov dword [esp + 0x38], edx
call fcn.004c47b0
mov edx, dword [esp + 0x38]
lea edx, [edx + eax - 1]
cmp dword [0x6ba464], edx
jae 0x4d0ecf
mov ecx, edi
mov dword [esp + 0x38], edx
call fcn.004c4fa0
mov edx, dword [esp + 0x38]
mov dword [esp + 0x20], 0x6087b0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0xc], 0x7a
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.is_past_width
mov dword [esp + 4], str._s__d_:_orig_line__zu__orig_col__zu__curr_col__zu__text__s__past_width__s_n
mov dword [esp], 0x34
call fcn.0043ce70
jmp 0x4d0af0
xor ebx, ebx
mov edi, dword [esp + ebx*4 + 0x58]
lea ecx, [edi + 0x74]
call fcn.004c4fa0
mov dword [esp + 0xc], 0x29e
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.split_for_stmt
mov dword [esp + 4], str._s__d_:_split_before__s_n
mov dword [esp], 0x34
call fcn.0043ce70
mov dword [esp], 0
mov ecx, edi
call fcn.0041e5f0
sub esp, 4
call fcn.004cf2f0
test ebx, ebx
jne 0x4d0bb8
jmp 0x4d0a79
mov ecx, dword [esp + 0x34]
mov ebx, dword [ebp + 0x18]
call fcn.004c47b0
lea ebx, [ebx + eax - 1]
cmp dword [0x6ba464], ebx
jae 0x4d0c80
mov ecx, dword [esp + 0x34]
call fcn.004c4fa0
mov dword [esp + 0x20], 0x6087b0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ebx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], 0x7a
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.is_past_width
mov dword [esp + 4], str._s__d_:_orig_line__zu__orig_col__zu__curr_col__zu__text__s__past_width__s_n
mov dword [esp], 0x34
call fcn.0043ce70
jmp 0x4cfaf0
mov ecx, dword [esp + 0x34]
call fcn.004c4fa0
mov dword [esp + 0x20], 0x608d63
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ebx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], 0x7a
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.is_past_width
mov dword [esp + 4], str._s__d_:_orig_line__zu__orig_col__zu__curr_col__zu__text__s__past_width__s_n
mov dword [esp], 0x34
call fcn.0043ce70
jmp 0x4cfd28
lea ecx, [edx - 0x9b]
cmp ecx, 0x14
jbe 0x4d101e
lea ecx, [edx - 0x9a]
cmp ecx, 0xc
jbe 0x4d1194
sub edx, 0xaa
and edx, 0xfffffffd
jne 0x4d0d18
cmp byte [eax + 0xac], 0
jne 0x4d0d18
mov eax, dword [eax]
sub eax, 0xab
and eax, 0xfffffffd
je 0x4d035a
lea esi, [esi]
mov ecx, dword [esp + 0x34]
call fcn.004c47b0
test eax, eax
je 0x4d035a
xor ebx, ebx
mov esi, ebp
jmp 0x4cfbd9
mov ecx, dword [esp + 0x34]
call fcn.004c4fa0
mov dword [esp + 0x20], 0x608d63
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ebx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x7a
mov dword [esp + 8], str.is_past_width
mov dword [esp + 4], str._s__d_:_orig_line__zu__orig_col__zu__curr_col__zu__text__s__past_width__s_n
mov dword [esp], 0x34
call fcn.0043ce70
mov ecx, dword [esp + 0x34]
mov ebx, dword [ebp + 0x18]
call fcn.004c47b0
lea ebx, [ebx + eax - 1]
cmp dword [0x6ba464], ebx
jae 0x4d0c80
mov ecx, dword [esp + 0x34]
call fcn.004c4fa0
mov dword [esp + 0x20], 0x6087b0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ebx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], 0x7a
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.is_past_width
mov dword [esp + 4], str._s__d_:_orig_line__zu__orig_col__zu__curr_col__zu__text__s__past_width__s_n
mov dword [esp], 0x34
call fcn.0043ce70
mov dword [esp + 0xc], 0x186
mov dword [esp + 8], str.split_line
mov dword [esp + 4], str._s__d_:_for_split_didnt_work_n
mov dword [esp], 0x34
call fcn.0043ce70
jmp 0x4cfaf9
cmp dword [ebp], 0x5f
jne 0x4d07e5
cmp dword [ebp + 4], 0x1d
jne 0x4d07e5
mov dword [esp + 0x58], ebp
cmp edi, 2
jne 0x4d0bba
mov ebx, 1
jmp 0x4d07e5
mov esi, dword [esp + 0x38]
test byte [0x6ba478], 4
jne 0x4d02e2
jmp 0x4d02cd
mov ebx, esi
mov dword [esp], 0
mov ecx, ebx
call fcn.0041e5f0
sub esp, 4
mov ebx, eax
cmp eax, ebp
je 0x4d0d83
cmp byte [ebx + 0xac], 0
jne 0x4d0e60
cmp dword [ebx], 0x38
jne 0x4d0e60
mov eax, dword [esi + 0x28]
add eax, 1
cmp dword [ebx + 0x28], eax
jne 0x4d0e60
mov dword [esp], 0
mov ecx, ebx
lea edi, [ebx + 0x74]
call fcn.0041e5f0
sub esp, 4
call fcn.004cf2f0
mov edx, dword [ebx + 0x18]
mov ecx, edi
mov dword [esp + 0x38], edx
call fcn.004c47b0
mov edx, dword [esp + 0x38]
lea edx, [edx + eax - 1]
cmp dword [0x6ba464], edx
jb 0x4d1130
mov ecx, edi
mov edi, edx
call fcn.004c4fa0
mov dword [esp + 0x20], 0x608d63
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edi
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 8]
jmp 0x4d0d5b
mov esi, dword [esp + 0x38]
test byte [0x6ba554], 4
je 0x4d02cd
jmp 0x4d02e2
cmp byte [ebx + 0xac], 0
jne 0x4d0f22
cmp dword [ebx], 0xa2
je 0x4d03f8
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x28]
cmp dword [ebx + 0x28], eax
jae 0x4d03f8
mov dword [esp + 0xc], 0x159
mov dword [esp + 8], str.try_split_here
mov dword [esp + 4], str._s__d_:_found_possible_split_n
mov dword [esp], 0x34
call fcn.0043ce70
mov dword [esp + 0x38], ebx
mov eax, dword [esp + 0x38]
mov dword [esp + 0x48], edi
cmp byte [eax + 0xac], 0
jne 0x4d000f
jmp 0x4d03f8
cmp edi, 0x19
jne 0x4d03ce
mov dword [esp], 0
mov ecx, ebx
call fcn.0041e5f0
sub esp, 4
cmp byte [eax + 0xac], 0
mov eax, dword [eax]
jne 0x4d0fa2
cmp eax, 0x14
je 0x4d03ce
mov ecx, dword [esp + 0x4c]
jmp 0x4d0fb7
add ecx, 8
cmp ebp, ecx
je 0x4d0fc7
mov edx, dword [ecx + 4]
cmp dword [ecx], eax
jne 0x4d0fb0
cmp edx, 0x19
je 0x4d03ce
mov dword [esp + 0xc], 0x14e
mov dword [esp + 8], str.try_split_here
mov dword [esp + 4], str._s__d_:_dont_break_after_last_term_of_a_qualified_type__return_n
mov dword [esp], 0x34
call fcn.0043ce70
jmp 0x4cfffe
mov eax, dword [esp + 0x40]
mov dword [esp + 0x44], ebx
cmp byte [eax + 0xac], 0
je 0x4d1294
mov dword [esp + 4], str.No_open_paren_n
mov dword [esp], 0x34
call fcn.0043ce70
jmp 0x4d0d83
mov esi, 0xffeaeaaa
bt esi, ecx
jae 0x4d035a
lea ecx, [edx - 0x9a]
cmp ecx, 0xc
jbe 0x4d1186
lea ecx, [edx - 0xaa]
and ecx, 0xfffffffd
je 0x4d0cf9
cmp edx, 0xae
jne 0x4d0d18
cmp byte [eax + 0xac], 0
jne 0x4d0d18
cmp dword [eax], 0xaf
jne 0x4d0d18
jmp 0x4d035a
mov eax, dword [ebx]
cmp eax, 0xa2
jne 0x4d10db
mov dword [esp], 0
mov ecx, ebx
call fcn.0041e5f0
sub esp, 4
cmp byte [eax + 0xac], 0
jne 0x4d10cc
cmp dword [eax], 0xa3
jne 0x4d10cc
mov dword [esp + 0xc], 0x12d
mov dword [esp + 8], str.try_split_here
mov dword [esp + 4], str._s__d_:_cant_split_a_function_without_arguments__return_n
mov dword [esp], 0x34
call fcn.0043ce70
jmp 0x4cfffe
cmp byte [ebx + 0xac], 0
jne 0x4d03b8
mov eax, dword [ebx]
cmp eax, 0x17
jne 0x4d03b8
mov dword [esp], 0
mov ecx, ebx
call fcn.0041e5f0
sub esp, 4
cmp byte [eax + 0xac], 0
jne 0x4d1107
cmp dword [eax], 0x17
je 0x4d03b8
mov dword [esp + 0xc], 0x139
mov dword [esp + 8], str.try_split_here
mov dword [esp + 4], str._s__d_:_only_split_concatenated_strings__return_n
mov dword [esp], 0x34
call fcn.0043ce70
jmp 0x4cfffe
mov ecx, edi
mov dword [esp + 0x38], edx
call fcn.004c4fa0
mov edx, dword [esp + 0x38]
mov dword [esp + 0x20], 0x6087b0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0xc], 0x7a
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.is_past_width
mov dword [esp + 4], str._s__d_:_orig_line__zu__orig_col__zu__curr_col__zu__text__s__past_width__s_n
mov dword [esp], 0x34
call fcn.0043ce70
jmp 0x4d0e60
mov edx, 0xffffeaae
bt edx, ecx
jb 0x4d0d18
cmp byte [eax + 0xac], 0
jne 0x4d0d18
mov eax, dword [eax]
sub eax, 0x9b
cmp eax, 0xc
ja 0x4d0d18
mov edx, 0xffffeaae
bt edx, eax
jae 0x4d035a
jmp 0x4d0d18
cmp eax, 0x6b
jne 0x4d0940
jmp 0x4d09a7
cmp eax, 0x3d
jne 0x4d11f1
mov esi, dword [esp + 0x38]
test byte [0x6ba518], 4
jne 0x4d02e2
jmp 0x4d02cd
cmp eax, 0x68
jne 0x4d1235
mov esi, dword [esp + 0x38]
test byte [0x6ba504], 4
je 0x4d02cd
jmp 0x4d02e2
mov dword [esp + 0xc], 0x142
mov dword [esp + 8], str.try_split_here
mov dword [esp + 4], str._s__d_:_keep_common_groupings_unless_ls_code_width__return_n
mov dword [esp], 0x34
call fcn.0043ce70
jmp 0x4cfffe
cmp eax, 0x6a
je 0x4d11f6
cmp eax, 0x3f
jne 0x4d02cd
mov esi, dword [esp + 0x38]
test byte [0x6ba52c], 4
jne 0x4d02e2
jmp 0x4d02cd
mov dword [esp + 0xc], 0x6085f5
mov dword [esp + 8], 0x316
mov dword [esp + 4], str.split_template
mov dword [esp], 0x34
call fcn.0043d970
mov eax, dword [0x6bbed0]
add eax, 1
jmp 0x4d0a50
mov ebx, 1
jmp 0x4d0840
mov esi, dword [esp + 0x40]
jmp 0x4d07d6