Function at 0x435f00
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x440
mov eax, dword [0x4f6fc0]
xor eax, ebp
mov dword [ebp - 4], eax
mov al, byte [0x5008f8]
mov byte [ebp - 0x104], al
push 0xfe
push 0
lea ecx, [ebp - 0x103]
push ecx
call fcn.004b6780
add esp, 0xc
mov dl, byte [0x5008f9]
mov byte [ebp - 0x204], dl
push 0xfe
push 0
lea eax, [ebp - 0x203]
push eax
call fcn.004b6780
add esp, 0xc
mov cl, byte [0x5008fa]
mov byte [ebp - 0x404], cl
push 0xfe
push 0
lea edx, [ebp - 0x403]
push edx
call fcn.004b6780
add esp, 0xc
mov dword [ebp - 0x424], 0
mov dword [ebp - 0x40c], 0
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x42c], 0
mov dword [ebp - 0x420], 0
mov dword [ebp - 0x430], 0
mov dword [ebp - 0x43c], 0
mov dword [ebp - 0x408], 0
mov dword [ebp - 0x418], 0
mov dword [ebp - 0x414], 0
mov dword [ebp - 0x41c], 0
mov dword [ebp - 0x428], 0x4fcad8
mov dword [ebp - 0x438], 0
mov al, byte [0x5008fb]
mov byte [ebp - 0x304], al
push 0xfe
push 0
lea ecx, [ebp - 0x303]
push ecx
call fcn.004b6780
add esp, 0xc
cmp dword [0x4e26a0], 0xffffffff
jne 0x43603e
mov edx, dword [ebp + 8]
push edx
push 0x4e2420
lea eax, [ebp - 0x304]
push eax
call fcn.004b6e08
add esp, 0xc
jmp 0x436060
mov ecx, dword [0x4e26a4]
push ecx
mov edx, dword [0x4e26a0]
push edx
push 0x4e2430
lea eax, [ebp - 0x304]
push eax
call fcn.004b6e08
add esp, 0x10
mov ecx, dword [ebp + 8]
push ecx
call fcn.00457490
add esp, 4
cmp eax, 1
jne 0x4361bc
cmp dword [0x4e26a0], 0xffffffff
jne 0x4361bc
mov edx, dword [ebp + 8]
push edx
call fcn.004575b0
add esp, 4
mov dword [ebp - 0x408], eax
mov eax, dword [ebp - 0x408]
imul eax, eax, 0x1564
mov ecx, 0x94
imul ecx, ecx, 0
lea edx, [eax + ecx + 0x8c8180]
mov eax, 4
imul eax, eax, 0
cmp dword [edx + eax], 0
jne 0x4361b7
mov ecx, dword [ebp + 8]
push ecx
call fcn.00438ea0
add esp, 4
mov edx, dword [ebp - 0x408]
imul edx, edx, 0x1564
mov eax, 0x94
imul eax, eax, 0
lea ecx, [edx + eax + 0x8c8180]
mov edx, 4
shl edx, 0
cmp dword [ecx + edx], 0
je 0x4361b7
push 0xd2
call fcn.004b6c11
add esp, 4
mov ecx, dword [ebp - 0x408]
imul ecx, ecx, 0x1564
mov edx, 0x94
imul edx, edx, 0
lea ecx, [ecx + edx + 0x8c8180]
mov edx, 4
imul edx, edx, 0
mov dword [ecx + edx], eax
push 0x4e2444
mov eax, dword [ebp - 0x408]
imul eax, eax, 0x1564
mov ecx, 0x94
imul ecx, ecx, 0
lea edx, [eax + ecx + 0x8c8180]
mov eax, 4
imul eax, eax, 0
mov ecx, dword [edx + eax]
push ecx
call fcn.004b5e60
add esp, 8
mov edx, dword [ebp - 0x408]
imul edx, edx, 0x1564
mov eax, 0x94
imul eax, eax, 0
lea ecx, [edx + eax + 0x8c8180]
mov edx, 4
shl edx, 0
mov eax, dword [ecx + edx]
push eax
mov ecx, dword [ebp - 0x408]
imul ecx, ecx, 0x1564
mov edx, 0x94
imul edx, edx, 0
lea eax, [ecx + edx + 0x8c8180]
mov ecx, 4
imul ecx, ecx, 0
mov edx, dword [eax + ecx]
push edx
call fcn.004b5e60
add esp, 8
jmp 0x437193
call fcn.0049cfc0
mov dword [ebp - 0x428], eax
mov eax, dword [ebp + 8]
push eax
call fcn.004575b0
add esp, 4
mov dword [ebp - 0x408], eax
cmp dword [ebp + 8], 0xf
jne 0x4361e4
call fcn.0041b640
mov dword [0x4fd0e0], 0
mov ecx, dword [ebp - 0x408]
imul ecx, ecx, 0x1564
mov edx, 0x94
imul edx, edx, 0
lea eax, [ecx + edx + 0x8c8180]
mov ecx, 4
imul ecx, ecx, 0
cmp dword [eax + ecx], 0
je 0x43621c
jmp 0x437193
mov edx, dword [ebp + 8]
push edx
call fcn.004373d0
add esp, 4
cmp dword [ebp + 8], 0x63
jne 0x43623d
mov dword [ebp - 0x418], 1
jmp 0x4362e8
cmp dword [ebp + 8], 0xf
jne 0x436263
push 0x4e2448
push 0x4fa370
push 0x4e2450
lea eax, [ebp - 0x204]
push eax
call fcn.004b6e08
add esp, 0x10
jmp 0x43628c
lea ecx, [ebp - 0x304]
push ecx
push 0x5c
push 0x4e245c
mov edx, dword [ebp - 0x428]
push edx
push 0x4e246c
lea eax, [ebp - 0x204]
push eax
call fcn.004b6e08
add esp, 0x18
lea ecx, [ebp - 0x204]
push ecx
call fcn.004196c0
add esp, 4
mov dword [ebp - 0x418], eax
cmp dword [ebp - 0x418], 0
jne 0x4362e8
lea edx, [ebp - 0x304]
push edx
push 0x5c
push 0x4e2478
mov eax, dword [ebp - 0x428]
push eax
push 0x4e2488
lea ecx, [ebp - 0x204]
push ecx
call fcn.004b6e08
add esp, 0x18
lea edx, [ebp - 0x204]
push edx
call fcn.004196c0
add esp, 4
mov dword [ebp - 0x418], eax
cmp dword [ebp - 0x418], 0
jne 0x436339
mov eax, dword [ebp + 8]
push eax
call fcn.00437e50
add esp, 4
mov dword [ebp - 0x418], eax
cmp dword [ebp - 0x418], 1
jne 0x436311
jmp 0x437193
movzx ecx, word [ebp + 8]
push ecx
call fcn.00438060
add esp, 4
mov dword [ebp - 0x418], eax
cmp dword [ebp - 0x418], 0xffffffff
jne 0x436339
mov edx, dword [ebp - 0x418]
mov dword [ebp - 0x418], edx
cmp dword [ebp + 8], 0x63
jne 0x4366c6
mov eax, dword [ebp - 0x408]
mov dword [eax*4 + 0xf5d260], 0
mov ecx, dword [ebp - 0x408]
mov dword [ecx*4 + 0x572200], 0
mov edx, dword [ebp - 0x408]
mov dword [edx*4 + 0x572400], 0
mov dword [0x54bf78], 0
mov dword [ebp - 0x40c], 0
jmp 0x43639b
mov eax, dword [ebp - 0x40c]
add eax, 1
mov dword [ebp - 0x40c], eax
cmp dword [ebp - 0x40c], 0x25
jge 0x4366c1
mov ecx, dword [ebp - 0x40c]
push ecx
push str.1M________D1Module__d
lea edx, [ebp - 0x104]
push edx
call fcn.004b6e08
add esp, 0xc
mov eax, dword [ebp - 0x408]
mov ecx, dword [eax*4 + 0xf5d260]
add ecx, 1
mov edx, dword [ebp - 0x408]
mov dword [edx*4 + 0xf5d260], ecx
lea eax, [ebp - 0x104]
push eax
call fcn.004b5f60
add esp, 4
mov dword [ebp - 0x414], eax
cmp dword [ebp - 0x414], 0xd2
jge 0x43640b
mov dword [ebp - 0x414], 0xd2
mov ecx, dword [ebp - 0x408]
imul ecx, ecx, 0x94
mov edx, dword [ebp - 0x40c]
cmp dword [ecx + edx*4 + 0x8c3920], 0
je 0x436449
mov eax, dword [ebp - 0x408]
imul eax, eax, 0x94
mov ecx, dword [ebp - 0x40c]
mov edx, dword [eax + ecx*4 + 0x8c3920]
push edx
call fcn.004b6bd9
add esp, 4
mov eax, dword [ebp - 0x414]
add eax, 2
push eax
call fcn.004b6c11
add esp, 4
mov ecx, dword [ebp - 0x408]
imul ecx, ecx, 0x94
mov edx, dword [ebp - 0x40c]
mov dword [ecx + edx*4 + 0x8c3920], eax
lea eax, [ebp - 0x104]
push eax
mov ecx, dword [ebp - 0x408]
imul ecx, ecx, 0x94
mov edx, dword [ebp - 0x40c]
mov eax, dword [ecx + edx*4 + 0x8c3920]
push eax
call fcn.004b5e60
add esp, 8
mov ecx, dword [ebp - 0x408]
mov edx, dword [ecx*4 + 0x572400]
add edx, 1
mov eax, dword [ebp - 0x408]
mov dword [eax*4 + 0x572400], edx
mov dword [ebp - 0x410], 0
jmp 0x4364d5
mov ecx, dword [ebp - 0x410]
add ecx, 1
mov dword [ebp - 0x410], ecx
cmp dword [ebp - 0x410], 0x25
jge 0x4366bc
push 0xaa
push 0x20
lea edx, [ebp - 0x104]
push edx
call fcn.004b6780
add esp, 0xc
mov eax, 1
imul eax, eax, 0xaa
mov dword [ebp - 0x434], eax
cmp dword [ebp - 0x434], 0xff
jae 0x436517
jmp 0x43651c
call fcn.004b64ae
mov ecx, dword [ebp - 0x434]
mov byte [ebp + ecx - 0x104], 0
mov edx, dword [ebp - 0x410]
push edx
mov eax, dword [ebp - 0x40c]
push eax
push str.Lesson__d__d
lea ecx, [ebp - 0x204]
push ecx
call fcn.004b6e08
add esp, 0x10
lea edx, [ebp - 0x204]
push edx
call fcn.004b5f60
add esp, 4
mov dword [ebp - 0x438], eax
mov eax, dword [ebp - 0x438]
push eax
lea ecx, [ebp - 0x204]
push ecx
lea edx, [ebp - 0x104]
push edx
call fcn.004b69f0
add esp, 0xc
mov eax, dword [0x4fd0e0]
add eax, 1
mov dword [0x4fd0e0], eax
mov ecx, dword [0x4fd0e0]
push ecx
push 0x4e24bc
lea edx, [ebp - 0x204]
push edx
call fcn.004b6e08
add esp, 0xc
push 4
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x81]
push ecx
call fcn.004b69f0
add esp, 0xc
lea edx, [ebp - 0x104]
push edx
call fcn.004b5f60
add esp, 4
mov dword [ebp - 0x414], eax
cmp dword [ebp - 0x414], 0xd2
jge 0x4365e9
mov dword [ebp - 0x414], 0xd2
mov eax, dword [ebp - 0x408]
imul eax, eax, 0x1564
mov ecx, dword [ebp - 0x40c]
imul ecx, ecx, 0x94
lea edx, [eax + ecx + 0x8c8180]
mov eax, dword [ebp - 0x410]
cmp dword [edx + eax*4], 0
je 0x436645
mov ecx, dword [ebp - 0x408]
imul ecx, ecx, 0x1564
mov edx, dword [ebp - 0x40c]
imul edx, edx, 0x94
lea eax, [ecx + edx + 0x8c8180]
mov ecx, dword [ebp - 0x410]
mov edx, dword [eax + ecx*4]
push edx
call fcn.004b6bd9
add esp, 4
mov eax, dword [ebp - 0x414]
add eax, 2
push eax
call fcn.004b6c11
add esp, 4
mov ecx, dword [ebp - 0x408]
imul ecx, ecx, 0x1564
mov edx, dword [ebp - 0x40c]
imul edx, edx, 0x94
lea ecx, [ecx + edx + 0x8c8180]
mov edx, dword [ebp - 0x410]
mov dword [ecx + edx*4], eax
lea eax, [ebp - 0x104]
push eax
mov ecx, dword [ebp - 0x408]
imul ecx, ecx, 0x1564
mov edx, dword [ebp - 0x40c]
imul edx, edx, 0x94
lea eax, [ecx + edx + 0x8c8180]
mov ecx, dword [ebp - 0x410]
mov edx, dword [eax + ecx*4]
push edx
call fcn.004b5e60
add esp, 8
jmp 0x4364c6
jmp 0x43638c
jmp 0x437193
cmp dword [ebp + 8], 1
jg 0x4366d1
jmp 0x437193
cmp dword [ebp + 8], 0xf
jne 0x4366f7
push 0x4e24c4
push 0x4fa370
push str._s_s.015
lea eax, [ebp - 0x104]
push eax
call fcn.004b6e08
add esp, 0x10
jmp 0x436720
lea ecx, [ebp - 0x304]
push ecx
push 0x5c
push 0x4e24d8
mov edx, dword [ebp - 0x428]
push edx
push 0x4e24e8
lea eax, [ebp - 0x104]
push eax
call fcn.004b6e08
add esp, 0x18
push 1
push 0x4e24f4
lea ecx, [ebp - 0x104]
push ecx
call fcn.00419d20
add esp, 0xc
mov dword [ebp - 0x41c], eax
cmp dword [ebp - 0x41c], 0
jne 0x43678c
mov edx, dword [ebp + 8]
push edx
push str.LESSONS
push 0x5c
push 0x4e2500
mov eax, dword [ebp - 0x428]
push eax
push str._s_s_c_s._03d
lea ecx, [ebp - 0x104]
push ecx
call fcn.004b6e08
add esp, 0x1c
push 1
push 0x4e2520
lea edx, [ebp - 0x104]
push edx
call fcn.00419d20
add esp, 0xc
mov dword [ebp - 0x41c], eax
cmp dword [ebp - 0x41c], 0
jne 0x436808
mov eax, dword [ebp + 8]
push eax
push str._03dLLL00
lea ecx, [ebp - 0x204]
push ecx
call fcn.004b6e08
add esp, 0xc
push 0x4fc9d8
lea edx, [ebp - 0x404]
push edx
lea eax, [ebp - 0x204]
push eax
call fcn.00453500
add esp, 0xc
push 0x5c
lea ecx, [ebp - 0x404]
push ecx
push 0x5c
push 0x4fc9d8
push str._s_c_s_cLESSONS.C
lea edx, [ebp - 0x104]
push edx
call fcn.004b6e08
add esp, 0x18
push 1
push 0x4e2544
lea eax, [ebp - 0x104]
push eax
call fcn.00419d20
add esp, 0xc
mov dword [ebp - 0x41c], eax
cmp dword [ebp - 0x41c], 0
jne 0x43683b
lea ecx, [ebp - 0x104]
push ecx
push str.Couldnt_open_file:__s
lea edx, [ebp - 0x204]
push edx
call fcn.004b6e08
add esp, 0xc
lea eax, [ebp - 0x204]
push eax
call fcn.00486000
add esp, 4
cmp dword [0x54e900], 1
jne 0x436874
cmp dword [ebp - 0x424], 0
je 0x43686f
cmp dword [ebp - 0x43c], 1
jne 0x43686f
mov ecx, dword [ebp - 0x424]
push ecx
call fcn.004b6bd9
add esp, 4
mov dword [ebp - 0x424], 0
jmp 0x437193
mov edx, dword [ebp - 0x408]
imul edx, edx, 0x1564
mov eax, 0x94
imul eax, eax, 0
lea ecx, [edx + eax + 0x8c8180]
mov edx, 4
imul edx, edx, 0
cmp dword [ecx + edx], 0
je 0x4368cc
mov eax, dword [ebp - 0x408]
imul eax, eax, 0x1564
mov ecx, 0x94
imul ecx, ecx, 0
lea edx, [eax + ecx + 0x8c8180]
mov eax, 4
imul eax, eax, 0
mov ecx, dword [edx + eax]
push ecx
call fcn.004b6bd9
add esp, 4
push 0xd2
call fcn.004b6c11
add esp, 4
mov edx, dword [ebp - 0x408]
imul edx, edx, 0x1564
mov ecx, 0x94
imul ecx, ecx, 0
lea edx, [edx + ecx + 0x8c8180]
mov ecx, 4
imul ecx, ecx, 0
mov dword [edx + ecx], eax
mov edx, dword [ebp - 0x408]
mov dword [edx*4 + 0xf5d260], 0
mov eax, dword [ebp - 0x41c]
push eax
push 0xff
lea ecx, [ebp - 0x104]
push ecx
call fcn.004b6cc9
add esp, 0xc
push 0x4e2560
lea edx, [ebp - 0x104]
push edx
call fcn.004b6b14
add esp, 8
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0x40c]
push ecx
lea edx, [ebp - 0x104]
push edx
call fcn.00437540
add esp, 0xc
mov eax, 1
shl eax, 1
movsx ecx, byte [ebp + eax - 0x104]
cmp ecx, 0x20
jne 0x43697a
mov dword [ebp - 0x410], 0
cmp dword [ebp - 0x40c], 0
jne 0x436993
mov edx, 1
imul edx, edx, 0xa
mov byte [ebp + edx - 0x104], 0x44
mov dword [ebp - 0x40c], 0
lea eax, [ebp - 0x104]
push eax
call fcn.004b5f60
add esp, 4
mov dword [ebp - 0x414], eax
cmp dword [ebp - 0x414], 0xd2
jge 0x4369c8
mov dword [ebp - 0x414], 0xd2
mov ecx, dword [ebp - 0x408]
imul ecx, ecx, 0x94
mov edx, dword [ebp - 0x40c]
cmp dword [ecx + edx*4 + 0x8c3920], 0
je 0x436a06
mov eax, dword [ebp - 0x408]
imul eax, eax, 0x94
mov ecx, dword [ebp - 0x40c]
mov edx, dword [eax + ecx*4 + 0x8c3920]
push edx
call fcn.004b6bd9
add esp, 4
mov eax, dword [ebp - 0x414]
add eax, 2
push eax
call fcn.004b6c11
add esp, 4
mov ecx, dword [ebp - 0x408]
imul ecx, ecx, 0x94
mov edx, dword [ebp - 0x40c]
mov dword [ecx + edx*4 + 0x8c3920], eax
cmp dword [ebp - 0x40c], 0
jne 0x436a47
cmp dword [ebp - 0x410], 0
je 0x436add
mov eax, dword [ebp - 0x408]
imul eax, eax, 0x1564
mov ecx, dword [ebp - 0x40c]
imul ecx, ecx, 0x94
lea edx, [eax + ecx + 0x8c8180]
mov eax, dword [ebp - 0x410]
cmp dword [edx + eax*4], 0
je 0x436aa3
mov ecx, dword [ebp - 0x408]
imul ecx, ecx, 0x1564
mov edx, dword [ebp - 0x40c]
imul edx, edx, 0x94
lea eax, [ecx + edx + 0x8c8180]
mov ecx, dword [ebp - 0x410]
mov edx, dword [eax + ecx*4]
push edx
call fcn.004b6bd9
add esp, 4
mov eax, dword [ebp - 0x414]
add eax, 2
push eax
call fcn.004b6c11
add esp, 4
mov ecx, dword [ebp - 0x408]
imul ecx, ecx, 0x1564
mov edx, dword [ebp - 0x40c]
imul edx, edx, 0x94
lea ecx, [ecx + edx + 0x8c8180]
mov edx, dword [ebp - 0x410]
mov dword [ecx + edx*4], eax
lea eax, [ebp - 0x104]
push eax
mov ecx, dword [ebp - 0x408]
imul ecx, ecx, 0x94
mov edx, dword [ebp - 0x40c]
mov eax, dword [ecx + edx*4 + 0x8c3920]
push eax
call fcn.004b5e60
add esp, 8
lea ecx, [ebp - 0x104]
push ecx
mov edx, dword [ebp - 0x408]
imul edx, edx, 0x1564
mov eax, dword [ebp - 0x40c]
imul eax, eax, 0x94
lea ecx, [edx + eax + 0x8c8180]
mov edx, dword [ebp - 0x410]
mov eax, dword [ecx + edx*4]
push eax
call fcn.004b5e60
add esp, 8
lea ecx, [ebp - 0x104]
push ecx
mov edx, dword [ebp - 0x408]
imul edx, edx, 0x1564
mov eax, 0x94
imul eax, eax, 0
lea ecx, [edx + eax + 0x8c8180]
mov edx, 4
imul edx, edx, 0
mov eax, dword [ecx + edx]
push eax
call fcn.004b5e60
add esp, 8
mov ecx, dword [ebp - 0x408]
mov dword [ecx*4 + 0x572200], 0
mov edx, dword [ebp - 0x408]
mov dword [edx*4 + 0x572400], 0
mov dword [0x54bf78], 0
mov dword [ebp - 0x420], 0
jmp 0x436bbb
mov eax, dword [ebp - 0x420]
add eax, 1
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0x578
jge 0x436c50
mov ecx, dword [ebp - 0x408]
imul ecx, ecx, 0x5780
mov edx, dword [ebp - 0x420]
shl edx, 4
lea eax, [ecx + edx + 0x572600]
mov ecx, 4
shl ecx, 0
mov dword [eax + ecx], 0
mov edx, dword [ebp - 0x408]
imul edx, edx, 0x5780
mov eax, dword [ebp - 0x420]
shl eax, 4
lea ecx, [edx + eax + 0x572600]
mov edx, 4
imul edx, edx, 0
mov dword [ecx + edx], 0
mov eax, dword [ebp - 0x408]
imul eax, eax, 0x5780
mov ecx, dword [ebp - 0x420]
shl ecx, 4
lea edx, [eax + ecx + 0x572600]
mov eax, 4
shl eax, 1
mov dword [edx + eax], 0
jmp 0x436bac
mov ecx, 1
imul ecx, ecx, 0
mov dword [ebp - 0x440], ecx
cmp dword [ebp - 0x440], 0xff
jae 0x436c6c
jmp 0x436c71
call fcn.004b64ae
mov edx, dword [ebp - 0x440]
mov byte [ebp + edx - 0x104], 0
mov eax, dword [ebp - 0x41c]
push eax
push 0xff
lea ecx, [ebp - 0x104]
push ecx
call fcn.004b6cc9
add esp, 0xc
push 0x4e2564
lea edx, [ebp - 0x104]
push edx
call fcn.004b6b14
add esp, 8
lea eax, [ebp - 0x104]
push eax
call fcn.004b5f60
add esp, 4
cmp eax, 5
jae 0x436cc7
jmp 0x43710b
lea ecx, [ebp - 0x410]
push ecx
lea edx, [ebp - 0x40c]
push edx
lea eax, [ebp - 0x104]
push eax
call fcn.00437540
add esp, 0xc
mov ecx, 1
shl ecx, 1
movsx edx, byte [ebp + ecx - 0x104]
cmp edx, 0x20
jne 0x436d02
mov dword [ebp - 0x410], 0
lea eax, [ebp - 0x104]
push eax
call fcn.004b5f60
add esp, 4
cmp eax, 0xd2
jae 0x436d2e
push 0x4e2568
lea ecx, [ebp - 0x104]
push ecx
call fcn.004b5e70
add esp, 8
jmp 0x436d02
cmp dword [ebp - 0x40c], 0
jne 0x436d47
mov edx, 1
imul edx, edx, 0xa
mov byte [ebp + edx - 0x104], 0x44
mov eax, 1
imul eax, eax, 0xa3
movsx ecx, byte [ebp + eax - 0x104]
cmp ecx, 0x54
je 0x436d77
mov edx, 1
imul edx, edx, 0xa3
movsx eax, byte [ebp + edx - 0x104]
cmp eax, 0x50
jne 0x436d81
mov dword [0x54bf78], 1
mov ecx, 1
shl ecx, 0
movsx edx, byte [ebp + ecx - 0x104]
cmp edx, 0x4d
jne 0x436f0f
mov eax, 1
shl eax, 1
movsx ecx, byte [ebp + eax - 0x104]
cmp ecx, 0x44
jne 0x436dbd
mov dword [ebp - 0x42c], 1
jmp 0x436f0a
mov dword [ebp - 0x42c], 0
mov edx, dword [ebp - 0x408]
mov eax, dword [edx*4 + 0xf5d260]
add eax, 1
mov ecx, dword [ebp - 0x408]
mov dword [ecx*4 + 0xf5d260], eax
mov edx, dword [ebp - 0x408]
imul edx, edx, 0x94
mov eax, dword [ebp - 0x408]
mov ecx, dword [eax*4 + 0xf5d260]
mov dword [edx + ecx*4 + 0xf58a00], 0
lea edx, [ebp - 0x104]
push edx
call fcn.004b5f60
add esp, 4
mov dword [ebp - 0x414], eax
cmp dword [ebp - 0x414], 0xd2
jge 0x436e33
mov dword [ebp - 0x414], 0xd2
mov eax, dword [ebp - 0x408]
imul eax, eax, 0x94
mov ecx, dword [ebp - 0x40c]
cmp dword [eax + ecx*4 + 0x8c3920], 0
je 0x436e71
mov edx, dword [ebp - 0x408]
imul edx, edx, 0x94
mov eax, dword [ebp - 0x40c]
mov ecx, dword [edx + eax*4 + 0x8c3920]
push ecx
call fcn.004b6bd9
add esp, 4
mov edx, dword [ebp - 0x414]
add edx, 2
push edx
call fcn.004b6c11
add esp, 4
mov ecx, dword [ebp - 0x408]
imul ecx, ecx, 0x94
mov edx, dword [ebp - 0x40c]
mov dword [ecx + edx*4 + 0x8c3920], eax
lea eax, [ebp - 0x104]
push eax
mov ecx, dword [ebp - 0x408]
imul ecx, ecx, 0x94
mov edx, dword [ebp - 0x40c]
mov eax, dword [ecx + edx*4 + 0x8c3920]
push eax
call fcn.004b5e60
add esp, 8
mov ecx, dword [ebp - 0x408]
mov edx, dword [ecx*4 + 0x572400]
add edx, 1
mov eax, dword [ebp - 0x408]
mov dword [eax*4 + 0x572400], edx
mov ecx, dword [ebp - 0x40c]
mov dword [ebp - 0x430], ecx
mov edx, dword [ebp - 0x430]
push edx
push 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x104]
push ecx
call fcn.004371b0
add esp, 0x10
jmp 0x43710b
mov edx, 1
shl edx, 0
movsx eax, byte [ebp + edx - 0x104]
cmp eax, 0x43
jne 0x43710b
cmp dword [ebp - 0x42c], 0
jne 0x43710b
push 0x4e256c
lea ecx, [ebp - 0x104]
push ecx
call fcn.004b5ff0
add esp, 8
test eax, eax
jne 0x436f81
mov edx, dword [ebp - 0x408]
cmp dword [edx*4 + 0xf5d260], 1
jl 0x436f81
mov eax, 1
shl eax, 2
movsx ecx, byte [ebp + eax - 0x104]
cmp ecx, 0x2d
je 0x436f81
mov edx, dword [0x4fd0e0]
add edx, 1
mov dword [0x4fd0e0], edx
mov eax, dword [0x4fd0e0]
push eax
push 0x4e2574
lea ecx, [ebp - 0x204]
push ecx
call fcn.004b6e08
add esp, 0xc
push 4
lea edx, [ebp - 0x204]
push edx
lea eax, [ebp - 0x81]
push eax
call fcn.004b69f0
add esp, 0xc
mov ecx, dword [ebp - 0x408]
mov edx, dword [ecx*4 + 0xf5d260]
mov eax, dword [ebp - 0x408]
imul eax, eax, 0x94
mov ecx, dword [eax + edx*4 + 0xf58a00]
add ecx, 1
mov edx, dword [ebp - 0x408]
mov eax, dword [edx*4 + 0xf5d260]
mov edx, dword [ebp - 0x408]
imul edx, edx, 0x94
mov dword [edx + eax*4 + 0xf58a00], ecx
lea eax, [ebp - 0x104]
push eax
call fcn.004b5f60
add esp, 4
mov dword [ebp - 0x414], eax
cmp dword [ebp - 0x414], 0xd2
jge 0x437021
mov dword [ebp - 0x414], 0xd2
mov ecx, dword [ebp - 0x408]
imul ecx, ecx, 0x1564
mov edx, dword [ebp - 0x40c]
imul edx, edx, 0x94
lea eax, [ecx + edx + 0x8c8180]
mov ecx, dword [ebp - 0x410]
cmp dword [eax + ecx*4], 0
je 0x43707d
mov edx, dword [ebp - 0x408]
imul edx, edx, 0x1564
mov eax, dword [ebp - 0x40c]
imul eax, eax, 0x94
lea ecx, [edx + eax + 0x8c8180]
mov edx, dword [ebp - 0x410]
mov eax, dword [ecx + edx*4]
push eax
call fcn.004b6bd9
add esp, 4
mov ecx, dword [ebp - 0x414]
add ecx, 2
push ecx
call fcn.004b6c11
add esp, 4
mov edx, dword [ebp - 0x408]
imul edx, edx, 0x1564
mov ecx, dword [ebp - 0x40c]
imul ecx, ecx, 0x94
lea edx, [edx + ecx + 0x8c8180]
mov ecx, dword [ebp - 0x410]
mov dword [edx + ecx*4], eax
lea edx, [ebp - 0x104]
push edx
mov eax, dword [ebp - 0x408]
imul eax, eax, 0x1564
mov ecx, dword [ebp - 0x40c]
imul ecx, ecx, 0x94
lea edx, [eax + ecx + 0x8c8180]
mov eax, dword [ebp - 0x410]
mov ecx, dword [edx + eax*4]
push ecx
call fcn.004b5e60
add esp, 8
mov edx, dword [ebp - 0x430]
push edx
push 1
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x104]
push ecx
call fcn.004371b0
add esp, 0x10
mov edx, 1
imul edx, edx, 0
movsx eax, byte [ebp + edx - 0x104]
cmp eax, 0x5e
je 0x437137
mov ecx, dword [ebp - 0x41c]
push ecx
call fcn.004b6ca3
add esp, 4
test eax, eax
je 0x436c50
mov edx, dword [ebp - 0x41c]
push edx
call fcn.00419ca0
add esp, 4
mov dword [ebp - 0x41c], 0
mov eax, dword [ebp + 8]
push eax
call fcn.0044e4a0
add esp, 4
mov ecx, dword [ebp + 8]
push ecx
call fcn.0044bd20
add esp, 4
cmp dword [ebp - 0x424], 0
je 0x437193
cmp dword [ebp - 0x43c], 1
jne 0x437193
mov edx, dword [ebp - 0x424]
push edx
call fcn.004b6bd9
add esp, 4
mov dword [ebp - 0x424], 0
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b6253
mov esp, ebp
pop ebp
ret