Function at 0x632320
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe0
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x6346b8
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
push ebp
push 0x634693
push dword fs:[ecx]
mov dword fs:[ecx], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0060056c
mov byte [ebp - 0xe], al
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1629], 0
jne 0x634061
mov eax, dword [ebp - 0xc]
cmp word [eax], 0xd
jne 0x63254c
mov al, byte [0x6346c8]
cmp al, byte [ebp + 8]
jne 0x63254c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1629], 0
jne 0x63241c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
cmp byte [eax + 0x475], 0
je 0x63241c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36a4
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b361c
pop edx
xchg edx, eax
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jle 0x63241c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36e8
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b3660
pop edx
xchg edx, eax
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jle 0x63241c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x424]
mov eax, dword [ebp - 4]
call fcn.006480f4
jmp 0x63254c
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x162a]
test al, al
je 0x632448
mov edx, dword [ebp - 4]
cmp dword [edx + 0x16b0], 0
je 0x632448
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x16b0]
cmp byte [edx + 0x57], 0
jne 0x63254c
mov edx, eax
and dl, byte [ebp - 0xe]
jne 0x63254c
mov edx, dword [ebp - 4]
cmp byte [edx + 0x15a0], 0
jne 0x63254c
mov edx, dword [0x6713c0]
mov edx, dword [edx]
mov edx, dword [edx + 0x3c0]
cmp edx, 1
jne 0x6324bd
test al, al
je 0x632484
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.006346e4
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x360]
mov eax, dword [ebp - 4]
call fcn.0063f828
mov eax, dword [ebp - 4]
mov byte [eax + 0x15a0], 1
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x308]
mov eax, dword [ebp - 4]
call fcn.00634aa0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x63469d
mov eax, dword [0x6713c0]
cmp edx, 2
jne 0x63254c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0x124]
test al, al
jne 0x632524
mov eax, dword [ebp - 4]
mov byte [eax + 0x1760], 0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x380]
mov eax, dword [ebp - 4]
call fcn.00641224
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1760], 0
jne 0x63253f
mov eax, dword [ebp - 4]
mov byte [eax + 0x15a0], 1
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x308]
mov eax, dword [ebp - 4]
call fcn.00634aa0
jmp 0x63253f
mov eax, dword [ebp - 4]
mov byte [eax + 0x15a0], 1
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x308]
mov eax, dword [ebp - 4]
call fcn.00634aa0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x63469d
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x1b
jne 0x6325c9
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1609], 0
je 0x63256b
mov eax, dword [ebp - 4]
call fcn.0064f978
jmp 0x6325c9
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162a], 0
je 0x6325c2
cmp byte [ebp - 0xe], 0
je 0x63258d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005cb500
jmp 0x6325c9
mov eax, dword [0x6713c0]
mov eax, dword [eax]
cmp byte [eax + 0x3c5], 0
je 0x6325ad
mov eax, dword [0x6713c0]
mov eax, dword [eax]
cmp dword [eax + 0x3bc], 0
jne 0x6325b9
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.006346e4
jmp 0x6325c9
push ebp
call fcn.0063224c
pop ecx
jmp 0x6325c9
push ebp
call fcn.0063224c
pop ecx
cmp byte [ebp - 0xe], 0
jne 0x634313
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x5a
jne 0x6325ee
mov al, byte [0x6346c8]
cmp al, byte [ebp + 8]
jne 0x6325ee
mov eax, dword [ebp - 4]
call fcn.006311d4
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x41
je 0x632604
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x20
jne 0x6326f1
mov al, byte [0x6346c8]
cmp al, byte [ebp + 8]
je 0x63261c
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x6326f1
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x20
jne 0x6326bd
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162d], 0
je 0x6326bd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
fld qword [eax + 0x3f8]
fcomp dword [0x6346d0]
fnstsw ax
sahf
je 0x632669
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x2fc]
mov eax, dword [ebp - 4]
call fcn.006349d8
jmp 0x632efd
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x2f0]
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
cmp eax, dword [ebx + 0x48]
jg 0x6326a7
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x2f0]
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
cmp eax, dword [esi + 0x4c]
jle 0x632efd
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x300]
mov eax, dword [ebp - 4]
call fcn.006347e8
jmp 0x632efd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
fld qword [eax + 0x3f8]
fcomp dword [0x6346d0]
fnstsw ax
sahf
je 0x632efd
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x2fc]
mov eax, dword [ebp - 4]
call fcn.006349d8
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x30
jb 0x632703
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x39
jbe 0x63271d
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x60
jb 0x6327d9
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x69
ja 0x6327d9
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162a], 0
je 0x6327d9
mov al, byte [0x6346c8]
cmp al, byte [ebp + 8]
jne 0x6327d9
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1630], 9
je 0x632758
mov eax, dword [ebp - 4]
call fcn.0064ccd8
cmp eax, 9
jne 0x6327d9
or ebx, 0xffffffff
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x30
jb 0x632776
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x39
ja 0x632776
mov ebx, dword [ebp - 0xc]
movzx ebx, word [ebx]
sub ebx, 0x30
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x60
jb 0x632791
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x69
ja 0x632791
mov ebx, dword [ebp - 0xc]
movzx ebx, word [ebx]
sub ebx, 0x60
test ebx, ebx
jl 0x632efd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x348]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x632efd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x348]
cmp ebx, dword [eax + 0x230]
je 0x632efd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x348]
mov edx, ebx
call fcn.006124b0
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x31
je 0x6327fd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x61
je 0x6327fd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x30
je 0x6327fd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x60
jne 0x632845
mov al, byte [0x6346c8]
cmp al, byte [ebp + 8]
je 0x632811
mov al, byte [0x6346d4]
cmp al, byte [ebp + 8]
jne 0x632845
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
fld qword [eax + 0x3f8]
fcomp dword [0x6346d0]
fnstsw ax
sahf
je 0x632efd
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x2fc]
mov eax, dword [ebp - 4]
call fcn.006349d8
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x32
je 0x632857
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x62
jne 0x632881
mov al, byte [0x6346c8]
cmp al, byte [ebp + 8]
je 0x63286b
mov al, byte [0x6346d4]
cmp al, byte [ebp + 8]
jne 0x632881
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x3d4]
mov eax, dword [ebp - 4]
call fcn.00645f8c
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x30
je 0x632893
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x60
jne 0x6328b1
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x6328b1
push 0x40590000
push 0
mov eax, dword [ebp - 4]
call fcn.006302e8
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x31
je 0x6328c3
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x61
jne 0x6328e1
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x6328e1
push 0x40240000
push 0
mov eax, dword [ebp - 4]
call fcn.006302e8
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x32
je 0x6328f3
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x62
jne 0x632911
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x632911
push 0x40340000
push 0
mov eax, dword [ebp - 4]
call fcn.006302e8
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x33
je 0x632923
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x63
jne 0x632941
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x632941
push 0x403e0000
push 0
mov eax, dword [ebp - 4]
call fcn.006302e8
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x34
je 0x632953
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x64
jne 0x632971
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x632971
push 0x40440000
push 0
mov eax, dword [ebp - 4]
call fcn.006302e8
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x35
je 0x632983
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x65
jne 0x6329a1
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x6329a1
push 0x40490000
push 0
mov eax, dword [ebp - 4]
call fcn.006302e8
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x36
je 0x6329b3
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x66
jne 0x6329d1
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x6329d1
push 0x404e0000
push 0
mov eax, dword [ebp - 4]
call fcn.006302e8
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x37
je 0x6329e3
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x67
jne 0x632a01
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x632a01
push 0x40518000
push 0
mov eax, dword [ebp - 4]
call fcn.006302e8
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x38
je 0x632a13
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x68
jne 0x632a31
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x632a31
push 0x40540000
push 0
mov eax, dword [ebp - 4]
call fcn.006302e8
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x39
je 0x632a43
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x69
jne 0x632a61
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x632a61
push 0x40568000
push 0
mov eax, dword [ebp - 4]
call fcn.006302e8
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x52
jne 0x632b00
mov al, byte [0x6346c8]
cmp al, byte [ebp + 8]
je 0x632a82
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x632b00
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162d], 0
jne 0x632b00
mov eax, dword [ebp - 4]
call fcn.00640064
test al, al
je 0x632ab0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x378]
mov eax, dword [ebp - 4]
call fcn.0064092c
jmp 0x632efd
mov eax, dword [ebp - 4]
call fcn.00640064
test al, al
jne 0x632efd
mov eax, dword [ebp - 4]
call fcn.00623a80
inc eax
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x48]
jge 0x632efd
mov eax, dword [ebp - 4]
call fcn.00623ad0
inc eax
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x4c]
jge 0x632efd
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x300]
mov eax, dword [ebp - 4]
call fcn.006347e8
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x51
jne 0x632bb9
mov al, byte [0x6346c8]
cmp al, byte [ebp + 8]
je 0x632b25
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x632bb9
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162d], 0
je 0x632b47
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x300]
mov eax, dword [ebp - 4]
call fcn.006347e8
jmp 0x632efd
mov eax, dword [ebp - 4]
call fcn.00640064
test al, al
je 0x632b69
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x378]
mov eax, dword [ebp - 4]
call fcn.0064092c
jmp 0x632efd
mov eax, dword [ebp - 4]
call fcn.00640064
test al, al
jne 0x632efd
mov eax, dword [ebp - 4]
call fcn.00623a80
inc eax
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x48]
jge 0x632efd
mov eax, dword [ebp - 4]
call fcn.00623ad0
inc eax
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x4c]
jge 0x632efd
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x300]
mov eax, dword [ebp - 4]
call fcn.006347e8
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x48
jne 0x632bec
mov al, byte [0x6346c8]
cmp al, byte [ebp + 8]
je 0x632bd6
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x632bec
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38c]
mov eax, dword [ebp - 4]
call fcn.006448b8
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x54
je 0x632bfe
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x71
jne 0x632c28
mov al, byte [0x6346c8]
cmp al, byte [ebp + 8]
je 0x632c12
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x632c28
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x3f8]
mov eax, dword [ebp - 4]
call fcn.00647734
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x57
jne 0x632c71
mov al, byte [0x6346c8]
cmp al, byte [ebp + 8]
je 0x632c45
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x632c71
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1690]
xor edx, edx
call fcn.004055e0
je 0x632efd
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x400]
mov eax, dword [ebp - 4]
call fcn.0064809c
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x58
jne 0x632d26
mov al, byte [0x6346c8]
cmp al, byte [ebp + 8]
jne 0x632d26
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1629], 0
jne 0x632efd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
cmp byte [eax + 0x475], 0
je 0x632efd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36a4
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b361c
pop edx
xchg edx, eax
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jle 0x632efd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36e8
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b3660
pop edx
xchg edx, eax
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jle 0x632efd
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x424]
mov eax, dword [ebp - 4]
call fcn.006480f4
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x2e
jne 0x632dd4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
cmp byte [eax + 0x475], 0
je 0x632daf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36a4
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b361c
pop edx
xchg edx, eax
sub eax, edx
cdq
xor eax, edx
sub eax, edx
test eax, eax
jle 0x632daf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36e8
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b3660
pop edx
xchg edx, eax
sub eax, edx
cdq
xor eax, edx
sub eax, edx
test eax, eax
jle 0x632daf
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x47c]
mov eax, dword [ebp - 4]
call fcn.006484bc
jmp 0x632efd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
cmp dword [eax + 0x974], 0
jle 0x632efd
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0064d3cc
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x42
jne 0x632e77
mov al, byte [0x6346c8]
cmp al, byte [ebp + 8]
jne 0x632e77
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
cmp byte [eax + 0x475], 0
je 0x632efd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36a4
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b361c
pop edx
xchg edx, eax
sub eax, edx
cdq
xor eax, edx
sub eax, edx
test eax, eax
jle 0x632efd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36e8
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b3660
pop edx
xchg edx, eax
sub eax, edx
cdq
xor eax, edx
sub eax, edx
test eax, eax
jle 0x632efd
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x57c]
mov eax, dword [ebp - 4]
call fcn.0064f038
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x50
jne 0x632e9d
mov al, byte [0x6346d8]
cmp al, byte [ebp + 8]
jne 0x632e9d
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x570]
mov eax, dword [ebp - 4]
call fcn.006487ac
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x4e
jne 0x632ec3
mov al, byte [0x6346c8]
cmp al, byte [ebp + 8]
jne 0x632ec3
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x570]
mov eax, dword [ebp - 4]
call fcn.006487ac
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0xbb
je 0x632ed6
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x6b
jne 0x632ee0
mov eax, dword [ebp - 4]
call fcn.00630094
jmp 0x632efd
mov eax, dword [ebp - 0xc]
cmp word [eax], 0xbd
je 0x632ef3
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x6d
jne 0x632efd
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00630528
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x44
jne 0x632f21
mov al, byte [0x6346c8]
cmp al, byte [ebp + 8]
jne 0x632f21
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x33c]
mov eax, dword [ebp - 4]
call fcn.00635540
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x5a
jne 0x632f45
mov al, byte [0x6346d4]
cmp al, byte [ebp + 8]
jne 0x632f45
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x354]
mov eax, dword [ebp - 4]
call fcn.0063bbd0
mov eax, dword [ebp - 0xc]
cmp word [eax], 0xd
jne 0x632faa
mov al, byte [0x6346d4]
cmp al, byte [ebp + 8]
jne 0x632faa
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162a], 0
je 0x632faa
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x1630]
test ebx, ebx
je 0x632f76
cmp ebx, 7
jne 0x632faa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
cmp dword [eax + 0x974], 0
jle 0x632faa
mov eax, dword [ebp - 4]
call fcn.0064ccac
cmp eax, 7
jne 0x632faa
mov eax, dword [ebp - 4]
call fcn.0064c674
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x63469d
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x4c
jne 0x633086
mov al, byte [0x6346d4]
cmp al, byte [ebp + 8]
jne 0x633086
xor eax, eax
push ebp
push 0x63307c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162a], 0
je 0x633072
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
cmp dword [eax + 0x974], 0
jle 0x633072
mov eax, dword [ebp - 4]
call fcn.0064ccac
cmp eax, 7
jne 0x633072
mov eax, dword [ebp - 4]
call fcn.0064ce80
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, ebx
call fcn.005cc504
cmp al, 1
jne 0x633072
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, ebx
call fcn.005e8070
cmp eax, 0x64
jne 0x633072
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, ebx
call fcn.005e8504
test al, al
jne 0x633061
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, ebx
call fcn.005cc7bc
cdq
xor eax, edx
sub eax, edx
dec eax
jle 0x633072
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4b4]
mov eax, dword [ebp - 4]
call fcn.0064d744
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x633086
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x24
jne 0x6330df
xor eax, eax
push ebp
push 0x6330d5
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162a], 0
je 0x6330bb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005d4348
test al, al
jne 0x6330cb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
xor edx, edx
call fcn.005b323c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x6330df
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x23
jne 0x63313b
xor eax, eax
push ebp
push 0x633131
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162a], 0
je 0x633114
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005d4348
test al, al
jne 0x633127
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, 0x186a0
call fcn.005b323c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x63313b
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x26
jne 0x63341f
mov eax, dword [ebp - 4]
call fcn.006397f4
test al, al
je 0x6332a5
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x2f0]
cmp byte [ebx + 0x475], 0
je 0x63341f
mov eax, ebx
call fcn.005b5c84
cmp eax, 4
jne 0x63341f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov byte [eax + 0x4a8], 1
xor edx, edx
push ebp
push 0x63329e
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, dword [eax]
call dword [edx + 0xe0]
test byte [ebp + 8], 1
je 0x63321d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36e8
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b3660
cmp ebx, eax
jle 0x63321d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36a4
inc eax
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36e8
inc eax
dec eax
push eax
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b3660
push eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x2f0]
mov eax, ebx
call fcn.005b361c
mov edx, eax
mov eax, ebx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x148]
jmp 0x63327f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b3660
test eax, eax
jle 0x63327f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36a4
inc eax
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36e8
inc eax
dec eax
push eax
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b3660
dec eax
push eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x2f0]
mov eax, ebx
call fcn.005b361c
mov edx, eax
mov eax, ebx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x148]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x63341f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xe4]
ret
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162a], 0
je 0x633317
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
cmp dword [eax + 0x974], 0
jle 0x63341f
mov al, byte [0x6346c8]
cmp al, byte [ebp + 8]
jne 0x6332e3
or ecx, 0xffffffff
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00631008
jmp 0x63341f
test byte [ebp + 8], 1
je 0x6332fb
or ecx, 0xffffffff
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00631100
jmp 0x63341f
test byte [ebp + 8], 4
je 0x63341f
or ecx, 0xffffffff
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00631008
jmp 0x63341f
test byte [ebp + 8], 1
je 0x633338
mov eax, 2
call fcn.00651abc
mov edx, eax
neg edx
mov eax, dword [ebp - 4]
call fcn.006316f4
jmp 0x63341f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162d], 0
je 0x633398
test byte [ebp + 8], 4
jne 0x633398
test byte [ebp + 8], 1
je 0x633357
mov ebx, 1
jmp 0x633369
test byte [ebp + 8], 2
je 0x633364
mov ebx, 0x28
jmp 0x633369
mov ebx, 0xa
push 0
mov eax, ebx
call fcn.00651abc
xor edx, edx
sub edx, eax
push edx
lea eax, [ebp - 0x18]
call fcn.00651bf8
lea ecx, [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov dl, byte [ebp + 8]
call fcn.005d796c
jmp 0x63341f
push ebp
call fcn.00631d8c
pop ecx
mov ebx, eax
test byte [ebp + 8], 1
je 0x6333be
mov eax, 1
call fcn.00651abc
mov edx, eax
mov eax, ebx
call fcn.00430e54
mov ebx, eax
jmp 0x63340d
test byte [ebp + 8], 4
je 0x6333db
mov eax, 5
call fcn.00651abc
mov edx, eax
mov eax, ebx
call fcn.00430e54
mov ebx, eax
jmp 0x63340d
test byte [ebp + 8], 2
je 0x6333f8
mov eax, 0x28
call fcn.00651abc
mov edx, eax
mov eax, ebx
call fcn.00430e54
mov ebx, eax
jmp 0x63340d
mov eax, 0x14
call fcn.00651abc
mov edx, eax
mov eax, ebx
call fcn.00430e54
mov ebx, eax
test ebx, ebx
jle 0x63341f
mov ecx, ebx
neg ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00634c08
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x28
jne 0x633723
mov eax, dword [ebp - 4]
call fcn.006397f4
test al, al
je 0x6335ab
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x2f0]
cmp byte [ebx + 0x475], 0
je 0x633723
mov eax, ebx
call fcn.005b5c84
cmp eax, 4
jne 0x633723
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov byte [eax + 0x4a8], 1
xor edx, edx
push ebp
push 0x6335a4
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, dword [eax]
call dword [edx + 0xe0]
test byte [ebp + 8], 1
je 0x63350a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
mov ebx, eax
dec ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36e8
cmp ebx, eax
jle 0x63350a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36a4
inc eax
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36e8
inc eax
inc eax
push eax
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b3660
push eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x2f0]
mov eax, ebx
call fcn.005b361c
mov edx, eax
mov eax, ebx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x148]
jmp 0x633585
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
mov ebx, eax
dec ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36e8
cmp ebx, eax
jle 0x633585
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36a4
inc eax
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36e8
inc eax
inc eax
push eax
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b3660
inc eax
push eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x2f0]
mov eax, ebx
call fcn.005b361c
mov edx, eax
mov eax, ebx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x148]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x633723
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xe4]
ret
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162a], 0
je 0x633623
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
cmp dword [eax + 0x974], 0
jle 0x633723
mov al, byte [0x6346c8]
cmp al, byte [ebp + 8]
jne 0x6335eb
mov ecx, 1
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00631008
jmp 0x633723
test byte [ebp + 8], 1
je 0x633605
mov ecx, 1
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00631100
jmp 0x633723
test byte [ebp + 8], 4
je 0x633723
mov ecx, 1
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00631008
jmp 0x633723
test byte [ebp + 8], 1
je 0x633642
mov eax, 2
call fcn.00651abc
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.006316f4
jmp 0x633723
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162d], 0
je 0x63369e
test byte [ebp + 8], 4
jne 0x63369e
test byte [ebp + 8], 1
je 0x633661
mov ebx, 1
jmp 0x633673
test byte [ebp + 8], 2
je 0x63366e
mov ebx, 0x28
jmp 0x633673
mov ebx, 0xa
push 0
mov eax, ebx
call fcn.00651abc
push eax
lea eax, [ebp - 0x18]
call fcn.00651bf8
lea ecx, [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov dl, byte [ebp + 8]
call fcn.005d796c
jmp 0x633723
push ebp
call fcn.00631eb8
pop ecx
mov ebx, eax
test byte [ebp + 8], 1
je 0x6336c4
mov eax, 1
call fcn.00651abc
mov edx, eax
mov eax, ebx
call fcn.00430e54
mov ebx, eax
jmp 0x633713
test byte [ebp + 8], 4
je 0x6336e1
mov eax, 5
call fcn.00651abc
mov edx, eax
mov eax, ebx
call fcn.00430e54
mov ebx, eax
jmp 0x633713
test byte [ebp + 8], 2
je 0x6336fe
mov eax, 0x28
call fcn.00651abc
mov edx, eax
mov eax, ebx
call fcn.00430e54
mov ebx, eax
jmp 0x633713
mov eax, 0x14
call fcn.00651abc
mov edx, eax
mov eax, ebx
call fcn.00430e54
mov ebx, eax
test ebx, ebx
jle 0x633723
mov ecx, ebx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00634c08
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x25
jne 0x633a0c
mov eax, dword [ebp - 4]
call fcn.006397f4
test al, al
je 0x633892
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x2f0]
cmp byte [ebx + 0x475], 0
je 0x633a0c
mov eax, ebx
call fcn.005b5c84
cmp eax, 4
jne 0x633a0c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov byte [eax + 0x4a8], 1
xor edx, edx
push ebp
push 0x63388b
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, dword [eax]
call dword [edx + 0xe0]
test byte [ebp + 8], 1
je 0x633805
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36a4
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b361c
cmp ebx, eax
jle 0x633805
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36a4
inc eax
dec eax
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36e8
inc eax
push eax
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b3660
push eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x2f0]
mov eax, ebx
call fcn.005b361c
mov edx, eax
mov eax, ebx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x148]
jmp 0x63386c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b361c
test eax, eax
jle 0x63386c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36a4
inc eax
dec eax
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36e8
inc eax
push eax
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b3660
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b361c
mov edx, eax
dec edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x148]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x633a0c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xe4]
ret
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162a], 0
je 0x633904
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
cmp dword [eax + 0x974], 0
jle 0x633a0c
mov al, byte [0x6346c8]
cmp al, byte [ebp + 8]
jne 0x6338d0
xor ecx, ecx
or edx, 0xffffffff
mov eax, dword [ebp - 4]
call fcn.00631008
jmp 0x633a0c
test byte [ebp + 8], 1
je 0x6338e8
xor ecx, ecx
or edx, 0xffffffff
mov eax, dword [ebp - 4]
call fcn.00631100
jmp 0x633a0c
test byte [ebp + 8], 4
je 0x633a0c
xor ecx, ecx
or edx, 0xffffffff
mov eax, dword [ebp - 4]
call fcn.00631008
jmp 0x633a0c
test byte [ebp + 8], 1
je 0x633925
mov eax, 2
call fcn.00651abc
mov edx, eax
neg edx
mov eax, dword [ebp - 4]
call fcn.00631a98
jmp 0x633a0c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162d], 0
je 0x633985
test byte [ebp + 8], 4
jne 0x633985
test byte [ebp + 8], 1
je 0x633944
mov ebx, 1
jmp 0x633956
test byte [ebp + 8], 2
je 0x633951
mov ebx, 0x28
jmp 0x633956
mov ebx, 0xa
mov eax, ebx
call fcn.00651abc
xor edx, edx
sub edx, eax
push edx
push 0
lea eax, [ebp - 0x18]
call fcn.00651bf8
lea ecx, [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov dl, byte [ebp + 8]
call fcn.005d796c
jmp 0x633a0c
push ebp
call fcn.00631fec
pop ecx
mov ebx, eax
test byte [ebp + 8], 1
je 0x6339ab
mov eax, 1
call fcn.00651abc
mov edx, eax
mov eax, ebx
call fcn.00430e54
mov ebx, eax
jmp 0x6339fa
test byte [ebp + 8], 4
je 0x6339c8
mov eax, 5
call fcn.00651abc
mov edx, eax
mov eax, ebx
call fcn.00430e54
mov ebx, eax
jmp 0x6339fa
test byte [ebp + 8], 2
je 0x6339e5
mov eax, 0x28
call fcn.00651abc
mov edx, eax
mov eax, ebx
call fcn.00430e54
mov ebx, eax
jmp 0x6339fa
mov eax, 0x14
call fcn.00651abc
mov edx, eax
mov eax, ebx
call fcn.00430e54
mov ebx, eax
test ebx, ebx
jle 0x633a0c
mov edx, ebx
neg edx
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00634c08
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x27
jne 0x633d18
mov eax, dword [ebp - 4]
call fcn.006397f4
test al, al
je 0x633ba0
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x2f0]
cmp byte [ebx + 0x475], 0
je 0x633d18
mov eax, ebx
call fcn.005b5c84
cmp eax, 4
jne 0x633d18
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov byte [eax + 0x4a8], 1
xor edx, edx
push ebp
push 0x633b99
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, dword [eax]
call dword [edx + 0xe0]
test byte [ebp + 8], 1
je 0x633afa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov ebx, eax
dec ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36a4
cmp ebx, eax
jle 0x633afa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36a4
inc eax
inc eax
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36e8
inc eax
push eax
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b3660
push eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x2f0]
mov eax, ebx
call fcn.005b361c
mov edx, eax
mov eax, ebx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x148]
jmp 0x633b7a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov ebx, eax
dec ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36a4
cmp ebx, eax
jle 0x633b7a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36a4
inc eax
inc eax
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36e8
inc eax
push eax
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b3660
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b361c
mov edx, eax
inc edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x148]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x633d18
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xe4]
ret
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162a], 0
je 0x633c18
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
cmp dword [eax + 0x974], 0
jle 0x633d18
mov al, byte [0x6346c8]
cmp al, byte [ebp + 8]
jne 0x633be0
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00631008
jmp 0x633d18
test byte [ebp + 8], 1
je 0x633bfa
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00631100
jmp 0x633d18
test byte [ebp + 8], 4
je 0x633d18
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00631008
jmp 0x633d18
test byte [ebp + 8], 1
je 0x633c37
mov eax, 2
call fcn.00651abc
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.00631a98
jmp 0x633d18
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162d], 0
je 0x633c93
test byte [ebp + 8], 4
jne 0x633c93
test byte [ebp + 8], 1
je 0x633c56
mov ebx, 1
jmp 0x633c68
test byte [ebp + 8], 2
je 0x633c63
mov ebx, 0x28
jmp 0x633c68
mov ebx, 0xa
mov eax, ebx
call fcn.00651abc
push eax
push 0
lea eax, [ebp - 0x18]
call fcn.00651bf8
lea ecx, [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov dl, byte [ebp + 8]
call fcn.005d796c
jmp 0x633d18
push ebp
call fcn.00632118
pop ecx
mov ebx, eax
test byte [ebp + 8], 1
je 0x633cb9
mov eax, 1
call fcn.00651abc
mov edx, eax
mov eax, ebx
call fcn.00430e54
mov ebx, eax
jmp 0x633d08
test byte [ebp + 8], 4
je 0x633cd6
mov eax, 5
call fcn.00651abc
mov edx, eax
mov eax, ebx
call fcn.00430e54
mov ebx, eax
jmp 0x633d08
test byte [ebp + 8], 2
je 0x633cf3
mov eax, 0x28
call fcn.00651abc
mov edx, eax
mov eax, ebx
call fcn.00430e54
mov ebx, eax
jmp 0x633d08
mov eax, 0x14
call fcn.00651abc
mov edx, eax
mov eax, ebx
call fcn.00430e54
mov ebx, eax
test ebx, ebx
jle 0x633d18
xor ecx, ecx
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00634c08
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x21
jne 0x633da7
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162a], 0
jne 0x633da7
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162d], 0
je 0x633d79
test byte [ebp + 8], 4
jne 0x633d79
push 0
mov eax, dword [ebp - 4]
fild dword [eax + 0x4c]
fmul dword [0x6346dc]
call fcn.00402f78
xor edx, edx
sub edx, eax
push edx
lea eax, [ebp - 0x18]
call fcn.00651bf8
lea ecx, [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov dl, byte [ebp + 8]
call fcn.005d796c
jmp 0x633da7
push ebp
call fcn.00631eb8
pop ecx
mov ebx, eax
mov eax, 0x96
call fcn.00651abc
mov edx, eax
mov eax, ebx
call fcn.00430e54
mov ebx, eax
test ebx, ebx
jle 0x633da7
mov ecx, ebx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00634c08
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x22
jne 0x633e34
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162a], 0
jne 0x633e34
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162d], 0
je 0x633e04
test byte [ebp + 8], 4
jne 0x633e04
push 0
mov eax, dword [ebp - 4]
fild dword [eax + 0x4c]
fmul dword [0x6346dc]
call fcn.00402f78
push eax
lea eax, [ebp - 0x18]
call fcn.00651bf8
lea ecx, [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov dl, byte [ebp + 8]
call fcn.005d796c
jmp 0x633e34
push ebp
call fcn.00631d8c
pop ecx
mov ebx, eax
mov eax, 0x96
call fcn.00651abc
mov edx, eax
mov eax, ebx
call fcn.00430e54
mov ebx, eax
test ebx, ebx
jle 0x633e34
mov ecx, ebx
neg ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00634c08
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x48
jne 0x633e7a
mov al, byte [0x6346d4]
cmp al, byte [ebp + 8]
jne 0x633e7a
xor eax, eax
push ebp
push 0x633e70
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x580]
mov eax, dword [ebp - 4]
call fcn.0064f3ec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x633e7a
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x53
jne 0x633ed6
mov al, byte [0x6346e0]
cmp al, byte [ebp + 8]
jne 0x633ed6
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1629], 0
jne 0x633ed6
call fcn.00652cf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0x124]
test al, al
jne 0x633ed6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
cmp byte [eax + 0x475], 0
je 0x633ed6
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x404]
mov eax, dword [ebp - 4]
call fcn.00641224
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x41
jne 0x633f74
mov al, byte [0x6346d4]
cmp al, byte [ebp + 8]
jne 0x633f74
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162a], 0
je 0x633f74
mov eax, dword [ebp - 4]
call fcn.006397f4
test al, al
jne 0x633f74
call fcn.00652cf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
cmp dword [eax + 0x750], 0
jle 0x633f74
mov eax, dword [0x6713c0]
mov eax, dword [eax]
cmp byte [eax + 0x3c4], 0
je 0x633f50
mov eax, dword [0x6713c0]
mov eax, dword [eax]
cmp byte [eax + 0x3c5], 0
je 0x633f50
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1630], 0
jne 0x633f50
xor ecx, ecx
jmp 0x633f52
mov cl, 1
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0064aa80
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005ccc50
mov eax, dword [ebp - 4]
mov byte [eax + 0x1596], 1
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x44
jne 0x633fb9
mov al, byte [0x6346d4]
cmp al, byte [ebp + 8]
jne 0x633fb9
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162a], 0
je 0x633fb9
call fcn.00652cf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
cmp dword [eax + 0x974], 0
jle 0x633faf
call fcn.005cce40
mov eax, dword [ebp - 4]
mov byte [eax + 0x1596], 0
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x58
jne 0x634313
mov al, byte [0x6346d4]
cmp al, byte [ebp + 8]
jne 0x634313
mov eax, dword [ebp - 4]
cmp byte [eax + 0x162a], 0
je 0x634313
call fcn.00652cf0
mov eax, dword [ebp - 4]
mov dword [eax + 0x5e0], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
cmp byte [eax + 0x475], 0
je 0x63402c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x360]
mov eax, dword [ebp - 4]
call fcn.0063f828
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x47c]
mov eax, dword [ebp - 4]
call fcn.006484bc
jmp 0x634052
cmp dword [eax + 0x974], 0
jle 0x634052
call fcn.005cb500
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0063ba50
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005fe390
mov eax, dword [ebp - 4]
mov byte [eax + 0x1596], 0
jmp 0x634313
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x1b
jne 0x634090
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x167c]
test eax, eax
je 0x634089
cmp byte [eax + 0x57], 0
je 0x634089
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0063a33c
jmp 0x634090
push ebp
call fcn.0063224c
pop ecx
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x41
jne 0x6340c2
mov al, byte [0x6346d4]
cmp al, byte [ebp + 8]
jne 0x6340c2
mov eax, dword [ebp - 4]
cmp byte [eax + 0x15a1], 0
jne 0x6340bd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x364]
call fcn.00438c6c
call fcn.00652cf0
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x46
jne 0x6340fe
mov al, byte [0x6346d4]
cmp al, byte [ebp + 8]
jne 0x6340fe
call fcn.00652cf0
mov eax, dword [ebp - 4]
call fcn.00644520
mov eax, dword [ebp - 4]
call fcn.00649b88
mov eax, dword [ebp - 4]
cmp byte [eax + 0x169c], 0
jne 0x6340fe
mov eax, dword [ebp - 4]
call fcn.00639818
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x41
jne 0x634146
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x634146
mov eax, dword [ebp - 4]
call fcn.00640104
test al, al
je 0x634130
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x370]
mov eax, dword [ebp - 4]
call fcn.00640744
jmp 0x634141
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x374]
mov eax, dword [ebp - 4]
call fcn.006405f4
call fcn.00652cf0
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x52
jne 0x63418e
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x63418e
mov eax, dword [ebp - 4]
call fcn.00640104
test al, al
je 0x634178
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x370]
mov eax, dword [ebp - 4]
call fcn.00640744
jmp 0x634189
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x374]
mov eax, dword [ebp - 4]
call fcn.006405f4
call fcn.00652cf0
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x71
jne 0x6341ab
mov al, byte [0x6346c8]
cmp al, byte [ebp + 8]
je 0x6341be
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
je 0x6341be
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x54
jne 0x6341d4
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x6341d4
call fcn.00652cf0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x3f8]
mov eax, dword [ebp - 4]
call fcn.00647734
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x51
jne 0x63421c
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x63421c
mov eax, dword [ebp - 4]
call fcn.00640104
test al, al
je 0x634206
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x370]
mov eax, dword [ebp - 4]
call fcn.00640744
jmp 0x634217
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x374]
mov eax, dword [ebp - 4]
call fcn.006405f4
call fcn.00652cf0
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x51
jne 0x634234
mov al, byte [0x6346d4]
cmp al, byte [ebp + 8]
jne 0x634234
call fcn.00652cf0
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x48
jne 0x63425d
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x63425d
call fcn.00652cf0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38c]
mov eax, dword [ebp - 4]
call fcn.006448b8
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x57
jne 0x634298
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x634298
call fcn.00652cf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1690]
xor edx, edx
call fcn.004055e0
je 0x634298
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x400]
mov eax, dword [ebp - 4]
call fcn.0064809c
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x72
jne 0x634313
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1629], 0
je 0x634313
call fcn.00652cf0
mov eax, dword [ebp - 4]
call fcn.00644520
mov eax, dword [ebp - 4]
call fcn.00649b88
mov edx, dword [ebp - 4]
cmp dword [edx + 0x167c], 0
je 0x6342e1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x167c]
test eax, eax
je 0x6342e9
cmp byte [eax + 0x57], 0
jne 0x6342e9
mov eax, dword [ebp - 4]
call fcn.00639818
test byte [ebp + 8], 1
je 0x634302
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x554]
mov eax, dword [ebp - 4]
call fcn.0064edb8
jmp 0x634313
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x558]
mov eax, dword [ebp - 4]
call fcn.0064ebec
cmp byte [ebp - 0xe], 0
jne 0x634439
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x43
jne 0x634346
mov al, byte [0x6346d4]
cmp al, byte [ebp + 8]
jne 0x634346
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x360]
mov eax, dword [ebp - 4]
call fcn.0063f828
call fcn.00652cf0
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x56
jne 0x63436f
mov al, byte [0x6346d4]
cmp al, byte [ebp + 8]
jne 0x63436f
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x35c]
mov eax, dword [ebp - 4]
call fcn.0063d8d0
call fcn.00652cf0
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x41
jne 0x6343eb
test byte [ebp + 8], 4
je 0x6343eb
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1629], 0
jne 0x6343e6
mov eax, dword [ebp - 4]
call fcn.006397f4
test al, al
je 0x6343e6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
xor edx, edx
call fcn.005b5c90
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x2f0]
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
push eax
push 0
mov eax, ebx
xor ecx, ecx
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0x148]
call fcn.00652cf0
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x44
jne 0x634439
test byte [ebp + 8], 4
je 0x634439
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1629], 0
jne 0x634434
mov eax, dword [ebp - 4]
call fcn.006397f4
test al, al
je 0x634434
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
cmp byte [eax + 0x475], 0
je 0x634434
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov dl, 1
call fcn.005b5c90
call fcn.00652cf0
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x54
jne 0x634536
test byte [ebp + 8], 4
je 0x634536
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0060056c
test al, al
je 0x634470
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005cb500
mov eax, dword [0x670b24]
cmp byte [eax], 0
je 0x634520
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x54
jne 0x634520
mov al, byte [0x6346d8]
cmp al, byte [ebp + 8]
jne 0x634520
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1629], 0
jne 0x634520
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
cmp byte [eax + 0x475], 0
je 0x634520
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36a4
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b361c
pop edx
xchg edx, eax
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jle 0x634520
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b36e8
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005b3660
pop edx
xchg edx, eax
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jle 0x634520
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x520]
mov eax, dword [ebp - 4]
call fcn.00648850
jmp 0x634531
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x36c]
mov eax, dword [ebp - 4]
call fcn.0063f58c
call fcn.00652cf0
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x57
jne 0x634549
mov al, byte [0x6346d4]
cmp al, byte [ebp + 8]
je 0x63456f
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x58
jne 0x63455c
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
je 0x63456f
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x73
jne 0x6345ad
mov al, byte [0x6346cc]
cmp al, byte [ebp + 8]
jne 0x6345ad
mov eax, dword [ebp - 0xc]
mov word [eax], 0
call fcn.00652cf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0060056c
test al, al
je 0x63459c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005cb500
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x338]
mov eax, dword [ebp - 4]
call fcn.00628e68
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x53
jne 0x634689
mov al, byte [0x6346d4]
cmp al, byte [ebp + 8]
jne 0x634689
call fcn.00652cf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0060056c
test al, al
je 0x6345ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005cb500
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1629], 0
je 0x63464c
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x364]
call fcn.0049d87c
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x1c]
call fcn.0040abc0
mov eax, dword [ebp - 0x1c]
xor edx, edx
call fcn.004055e0
jne 0x63463a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x364]
mov edx, dword [eax]
call dword [edx + 0xf8]
test eax, eax
jg 0x63463a
xor edx, edx
jmp 0x63463c
mov dl, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x380]
call fcn.0045d8c0
jmp 0x634670
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0x124]
mov edx, eax
xor dl, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x380]
call fcn.0045d8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x380]
cmp byte [eax + 0x39], 0
je 0x634689
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.00641224
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x63469d
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6346bf
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.0040527c
ret