Function at 0xe00af80
Capabilities:
Parse credit card information

Disassembly:
mov ecx, dword [esp + 4]
sub esp, 0x5c
push ebx
push esi
mov ax, word [ecx + 0x2fc0]
push edi
mov word [esp + 0xc], ax
push ebp
mov ax, word [ecx + 0x2fc2]
mov ebp, dword [ecx + 0x2fc8]
mov word [esp + 0x12], ax
mov esi, dword [ecx + 0x2fb8]
mov edi, esi
mov edx, dword [ecx + 0x2fc4]
xor ebx, ebx
mov dword [esp + 0x20], edx
cmp ax, bx
mov dword [esp + 0x18], ebx
je 0xe00aff0
add word [esp + 0x10], ax
mov edx, dword [ecx + 0x33c0]
mov word [esp + 0x12], bx
test edx, edx
mov dword [esp + 0x20], 1
je 0xe00aff0
mov eax, dword [esp + 0x10]
mov ebx, dword [ecx + 0x33c4]
push eax
push ebx
call edx
mov ecx, dword [esp + 0x70]
add dword [esp + 0x20], ebp
cmp dword [ecx + 0x2fd4], 0
je 0xe00b171
xor esi, esi
mov ebx, 0x20
mov dword [ecx + 0x2fd4], esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x28], edi
mov ax, word [edi]
cmp ax, bx
je 0xe00b033
cmp ax, 0x3000
je 0xe00b033
cmp ax, 9
jne 0xe00b038
add edi, 2
jmp 0xe00b01a
add edi, 2
jmp 0xe00b01a
push 3
push 0xe04e1b8
push edi
call fcn.0e045fc0
add esp, 0xc
test eax, eax
jne 0xe00b0d1
mov ax, word [edi + 6]
add edi, 6
cmp ax, bx
je 0xe00b068
cmp ax, 0x3000
je 0xe00b068
cmp ax, 9
jne 0xe00b0d1
mov ax, word [edi]
cmp ax, bx
je 0xe00b081
cmp ax, 0x3000
je 0xe00b081
cmp ax, 9
jne 0xe00b086
add edi, 2
jmp 0xe00b068
add edi, 2
jmp 0xe00b068
push 6
push 0xe04e1c0
push edi
call fcn.0e045fc0
add esp, 0xc
test eax, eax
jne 0xe00b0d1
add edi, 0xc
mov ax, word [edi]
cmp ax, bx
je 0xe00b0b6
cmp ax, 0x3000
je 0xe00b0b6
cmp ax, 9
jne 0xe00b0bb
add edi, 2
jmp 0xe00b09d
add edi, 2
jmp 0xe00b09d
mov cx, word [edi]
cmp cx, 0xff
ja 0xe00b0d1
xor eax, eax
mov al, cl
test byte [eax + 0xe04e1d0], bl
jne 0xe00b12d
cmp word [edi], 0
je 0xe00b0f5
mov ax, word [edi]
cmp ax, 0xff
ja 0xe00b0ec
xor ecx, ecx
mov cl, al
test byte [ecx + 0xe04e1d0], bl
jne 0xe00b0f5
add edi, 2
cmp word [edi], 0
jne 0xe00b0d7
mov ax, word [edi]
mov esi, edi
cmp ax, 0xd
jne 0xe00b11a
inc word [esp + 0x12]
add edi, 2
cmp word [edi], 0xa
jne 0xe00b016
add edi, 2
jmp 0xe00b016
cmp ax, 0xa
jne 0xe00b15f
inc word [esp + 0x12]
add edi, 2
jmp 0xe00b016
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x70]
test esi, esi
mov dword [ecx + 0x2fe4], eax
jne 0xe00b143
mov esi, dword [esp + 0x28]
mov bx, 0x102
sub esi, dword [esp + 0x14]
sar esi, 1
mov ecx, dword [esp + 0x70]
add esi, esi
mov dword [ecx + 0x2fe8], esi
jmp 0xe00c167
mov dword [esp + 0x18], 0x72
mov bx, word [esp + 0x28]
jmp 0xe00c167
mov ecx, dword [esp + 0x70]
cmp dword [ecx + 0x2fdc], 0
je 0xe00b1da
mov dword [ecx + 0x2fdc], 0
mov dword [ecx + 0x2fe4], edi
cmp word [edi], 0
je 0xe00b1be
mov edx, 0x20
mov ax, word [edi]
cmp ax, 0x5d
je 0xe00b1be
cmp ax, 0xff
ja 0xe00b1b4
xor ecx, ecx
mov cl, al
test byte [ecx + 0xe04e1d0], dl
jne 0xe00b1be
add edi, 2
inc ebp
cmp word [edi], 0
jne 0xe00b199
mov bx, 0x102
mov eax, edi
sub eax, esi
mov ecx, dword [esp + 0x70]
sar eax, 1
add eax, eax
mov dword [ecx + 0x2fe8], eax
jmp 0xe00c167
xor ebp, ebp
mov esi, 0x2a
mov ecx, edi
mov ax, word [edi]
cmp ax, 0x20
je 0xe00b1fd
cmp ax, 0x3000
je 0xe00b1fd
cmp ax, 9
jne 0xe00b202
add edi, 2
jmp 0xe00b1e3
add edi, 2
jmp 0xe00b1e3
mov eax, edi
sub eax, ecx
sar eax, 1
mov cx, word [edi]
add dword [esp + 0x20], eax
movzx edx, cx
cmp edx, 0x5f
ja case.0xe00b224.16
xor eax, eax
mov al, byte [edx + 0xe00c208]
jmp dword [eax*4 + 0xe00c1c4]
cmp word [edi + 2], si
jne 0xe00b913
mov ecx, 1
xor edx, edx
add edi, 4
mov ebx, dword [esp + 0x20]
add ebx, 2
cmp word [edi], dx
je 0xe00b2b4
mov ax, word [edi]
cmp ax, 0x2f
jne 0xe00b263
cmp word [edi + 2], si
jne 0xe00b263
inc ecx
add edi, 4
add ebx, 2
jmp 0xe00b2ae
cmp ax, si
jne 0xe00b27a
cmp word [edi + 2], 0x2f
jne 0xe00b27a
add edi, 4
add ebx, 2
dec ecx
jne 0xe00b2ae
jmp 0xe00b2b4
cmp ax, 0xd
jne 0xe00b299
inc edx
add edi, 2
cmp word [edi], 0xa
mov ebx, 1
jne 0xe00b2ae
add edi, 2
mov ebx, 2
jmp 0xe00b2ae
cmp ax, 0xa
jne 0xe00b2aa
inc edx
mov ebx, 1
add edi, 2
jmp 0xe00b2ae
add edi, 2
inc ebx
cmp word [edi], 0
jne 0xe00b24b
test ecx, ecx
jne 0xe00b924
add word [esp + 0x10], dx
mov dword [esp + 0x20], ebx
jmp 0xe00b1e1
mov ax, word [edi + 2]
add edi, 2
cmp ax, 0x20
je case.0xe00b224.15
cmp ax, 0x3000
je case.0xe00b224.15
cmp ax, 9
je case.0xe00b224.15
mov ax, word [edi]
cmp ax, 0xd
jne 0xe00b2ff
inc word [esp + 0x10]
add edi, 2
cmp word [edi], 0xa
jne 0xe00b369
add edi, 2
jmp 0xe00b369
cmp ax, 0xa
je 0xe00b361
cmp ax, 0x27
je 0xe00b322
test ax, ax
je 0xe00b369
mov dword [esp + 0x18], 0x70
mov bx, word [esp + 0x28]
jmp 0xe00c167
test ax, ax
je 0xe00b33f
mov ax, word [edi]
cmp ax, 0xd
je 0xe00b33f
cmp ax, 0xa
je 0xe00b33f
add edi, 2
cmp word [edi], 0
jne 0xe00b327
mov ax, word [edi]
cmp ax, 0xd
jne 0xe00b35b
inc word [esp + 0x10]
add edi, 2
cmp word [edi], 0xa
jne 0xe00b369
add edi, 2
jmp 0xe00b369
cmp ax, 0xa
jne 0xe00b369
inc word [esp + 0x10]
add edi, 2
mov dword [esp + 0x20], 1
jmp 0xe00b1e1
test cx, cx
je 0xe00b1e1
mov edx, 0x20
mov ax, word [edi]
cmp ax, 0xff
ja 0xe00b39d
xor ecx, ecx
mov cl, al
test byte [ecx + 0xe04e1d0], dl
jne 0xe00b1e1
add edi, 2
inc dword [esp + 0x20]
cmp word [edi], 0
jne 0xe00b384
jmp 0xe00b1e1
mov bx, word [edi]
mov eax, 1
cmp bx, 0xff
ja 0xe00b3cf
xor eax, eax
mov al, bl
mov cl, byte [eax + 0xe04e1d0]
xor eax, eax
and cl, 1
mov al, cl
xor edx, edx
test eax, eax
je 0xe00b4f2
test bx, bx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x28], edx
mov dword [esp + 0x14], edx
mov esi, dword [ecx + 0x2fb0]
je 0xe00b4c0
cmp dword [esp + 0x28], 0
jne 0xe00b4c0
mov cx, word [edi]
cmp cx, 0x21
jne 0xe00b452
lea ebx, [edi + 2]
mov eax, 1
mov dx, word [ebx]
cmp dx, 0xff
ja 0xe00b42b
xor eax, eax
mov al, dl
mov dl, byte [eax + 0xe04e1d0]
xor eax, eax
and dl, 3
mov al, dl
test eax, eax
jne 0xe00b437
mov dword [esp + 0x28], 1
mov eax, dword [esp + 0x14]
add eax, 2
cmp eax, 0xa2
jae 0xe00b4ce
mov word [esi], cx
mov dword [esp + 0x14], eax
jmp 0xe00b4b0
cmp cx, 0xff
ja 0xe00b47c
xor eax, eax
mov al, cl
test byte [eax + 0xe04e1d0], 0x40
je 0xe00b475
mov dword [esp + 0x28], 1
add dword [esp + 0x14], 2
jmp 0xe00b4aa
cmp cx, 0xff
jbe 0xe00b483
mov eax, 1
jmp 0xe00b494
xor eax, eax
mov al, cl
mov dl, byte [eax + 0xe04e1d0]
xor eax, eax
and dl, 3
mov al, dl
test eax, eax
je 0xe00b4c0
mov eax, dword [esp + 0x14]
add eax, 2
cmp eax, 0xa2
jae 0xe00b4e0
mov dword [esp + 0x14], eax
mov word [esi], cx
lea ebx, [edi + 2]
mov edi, ebx
add esi, 2
inc ebp
cmp word [ebx], 0
jne 0xe00b3f4
mov bx, 0x105
mov word [esi], 0
jmp 0xe00c167
mov dword [esp + 0x18], 0x5b
mov bx, word [esp + 0x28]
jmp 0xe00c167
mov dword [esp + 0x18], 0x5b
mov bx, word [esp + 0x28]
jmp 0xe00c167
mov ebp, 1
add edi, 2
jmp 0xe00c167
xor bx, bx
jmp 0xe00c167
mov bx, 0x104
add edi, 2
mov ecx, dword [esp + 0x70]
mov word [esp + 0x12], 1
cmp dword [ecx + 0x2fd0], 0
je 0xe00b53b
mov dword [ecx + 0x2fd4], 1
mov dword [ecx + 0x2fd0], 0
jmp 0xe00c167
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x2fe0], 1
jmp 0xe00c167
add edi, 2
cmp word [edi], 0xa
jne 0xe00b55a
add edi, 2
mov ecx, dword [esp + 0x70]
mov word [esp + 0x12], 1
cmp dword [ecx + 0x2fd0], 0
je 0xe00b58b
mov dword [ecx + 0x2fd4], 1
mov dword [ecx + 0x2fd0], 0
mov bx, 0x104
jmp 0xe00c167
mov bx, 0x104
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x2fe0], 1
jmp 0xe00c167
add edi, 2
mov ebp, 1
cmp word [edi], 0
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x14], 0
mov ebx, dword [ecx + 0x2fb0]
je 0xe00b745
mov ax, word [edi]
cmp ax, 0xff
ja 0xe00b5e0
xor ecx, ecx
mov cl, al
test byte [ecx + 0xe04e1d0], 0x20
jne 0xe00b745
cmp ax, 0x22
jne 0xe00b601
add edi, 2
inc ebp
cmp word [edi], 0x22
jne 0xe00b757
mov ax, 0x22
add edi, 2
inc ebp
jmp 0xe00b722
mov ecx, dword [esp + 0x70]
cmp dword [ecx + 0x2fcc], 0
je 0xe00b71e
cmp ax, 0x5c
jne 0xe00b71e
mov cx, word [edi + 2]
add edi, 2
inc ebp
mov edx, str.r_rn_na_ab_bf_ft_tv_v0
xor eax, eax
cmp word [edx], cx
je 0xe00b639
inc eax
add edx, 4
cmp eax, 0x10
jb 0xe00b62b
cmp eax, 0x10
jae 0xe00b647
mov ax, word [edx + 2]
jmp 0xe00b71e
cmp cx, 0x78
je 0xe00b6b2
cmp cx, 0x58
je 0xe00b6b2
cmp cx, 0x30
jb 0xe00b6ad
cmp cx, 0x37
ja 0xe00b6ad
mov esi, 1
xor eax, eax
xor edx, edx
cmp cx, 0x30
jb 0xe00b68e
mov cx, word [edi]
cmp cx, 0x37
ja 0xe00b68e
cmp edx, 3
jge 0xe00b68e
sub cl, 0x30
inc edx
add edi, 2
inc ebp
cmp word [edi], 0x30
mov byte [esp + edx + 0x1b], cl
jae 0xe00b66e
dec edx
js 0xe00b6a0
movsx ecx, byte [esp + edx + 0x1c]
imul ecx, esi
shl esi, 3
add eax, ecx
jmp 0xe00b68e
cmp eax, 0xff
jg 0xe00b77f
jmp 0xe00b722
mov ax, cx
jmp 0xe00b71e
add edi, 2
inc ebp
xor esi, esi
mov ax, word [edi]
push eax
call fcn.0e03d260
add esp, 4
cmp ax, 0xff
ja 0xe00b6dd
xor ecx, ecx
mov cl, al
test byte [ecx + 0xe04e1d0], 2
je 0xe00b6dd
sub ax, 0x30
jmp 0xe00b6ed
cmp ax, 0x41
jb 0xe00b6fc
cmp ax, 0x46
ja 0xe00b6fc
sub ax, 0x37
mov word [esp + esi*2 + 0x28], ax
inc esi
add edi, 2
inc ebp
cmp esi, 2
jl 0xe00b6b8
test esi, esi
je 0xe00b791
mov ax, 0
jle 0xe00b722
lea ecx, [esp + 0x28]
shl ax, 4
add ecx, 2
or ax, word [ecx - 2]
dec esi
jne 0xe00b70e
jmp 0xe00b722
add edi, 2
inc ebp
mov ecx, dword [esp + 0x14]
add ecx, 2
cmp ecx, 0x400
ja 0xe00b7a3
mov word [ebx], ax
add ebx, 2
cmp word [edi], 0
mov dword [esp + 0x14], ecx
jne 0xe00b5c6
mov dword [esp + 0x18], 0x1f
mov bx, word [esp + 0x28]
jmp 0xe00c167
mov word [ebx], 0
mov ecx, dword [esp + 0x70]
mov bx, 0x102
mov edx, dword [esp + 0x14]
mov eax, dword [ecx + 0x2fb0]
mov dword [ecx + 0x2fe8], edx
mov dword [ecx + 0x2fe4], eax
jmp 0xe00c167
mov dword [esp + 0x18], 0x71
mov bx, word [esp + 0x28]
jmp 0xe00c167
mov dword [esp + 0x18], 0x71
mov bx, word [esp + 0x28]
jmp 0xe00c167
mov dword [esp + 0x18], 0x50
mov bx, word [esp + 0x28]
jmp 0xe00c167
mov ecx, dword [esp + 0x70]
add edi, 2
mov ebp, 1
cmp dword [ecx + 0x2fd8], 0
je 0xe00b7d3
mov bx, 0x23
jmp 0xe00c167
mov ecx, edi
mov dword [esp + 0x14], edi
mov ax, word [edi]
cmp ax, 0x20
je 0xe00b7f3
cmp ax, 0x3000
je 0xe00b7f3
cmp ax, 9
jne 0xe00b7f8
add edi, 2
jmp 0xe00b7d9
add edi, 2
jmp 0xe00b7d9
mov ebp, edi
xor esi, esi
sub ebp, ecx
xor edx, edx
sar ebp, 1
mov ecx, dword [esp + 0x70]
inc ebp
mov ebx, dword [ecx + 0x2fb0]
cmp word [edi], dx
je 0xe00b86d
mov ax, word [edi]
cmp ax, 0xff
ja 0xe00b829
xor ecx, ecx
mov cl, al
test byte [ecx + 0xe04e1d0], 0x20
jne 0xe00b86d
cmp ax, 0x23
je 0xe00b86d
cmp ax, 0x20
je 0xe00b845
cmp ax, 0x3000
je 0xe00b845
cmp ax, 9
je 0xe00b845
xor edx, edx
jmp 0xe00b852
test edx, edx
jne 0xe00b852
mov edx, 1
mov dword [esp + 0x28], esi
add esi, 2
cmp esi, 0x400
jg 0xe00b885
mov word [ebx], ax
add edi, 2
add ebx, 2
inc ebp
cmp word [edi], 0
jne 0xe00b813
cmp word [edi], 0x23
je 0xe00b897
mov bx, 0x23
mov edi, dword [esp + 0x14]
mov ebp, 1
jmp 0xe00c167
mov bx, 0x23
mov edi, dword [esp + 0x14]
mov ebp, 1
jmp 0xe00c167
add edi, 2
inc ebp
mov eax, dword [esp + 0x28]
test edx, edx
jne 0xe00b8a5
mov eax, esi
mov dword [esp + 0x14], eax
test edx, edx
jne 0xe00b8b2
mov word [ebx], 0
mov bx, 0x101
jmp 0xe00c167
lea esi, [edi + 2]
mov ax, word [esi]
push eax
push str.HhOoBb
call fcn.0e03d350
add esp, 8
test eax, eax
jne case.0xe00b224.10
mov bx, word [edi]
mov ebp, 1
mov edi, esi
jmp 0xe00c167
lea edx, [edi + 2]
mov ax, word [edx]
cmp ax, 0xff
ja 0xe00b903
xor ecx, ecx
mov cl, al
test byte [ecx + 0xe04e1d0], 2
jne case.0xe00b224.10
mov bx, 0x1b4
mov edi, edx
mov ebp, 1
jmp 0xe00c167
mov bx, 0x2f
add edi, 2
mov ebp, 1
jmp 0xe00c167
mov dword [esp + 0x18], 0x6f
mov bx, word [esp + 0x28]
jmp 0xe00c167
add edi, 2
mov ebp, 1
cmp word [edi], 0x3d
jne 0xe00b955
mov bx, 0x1a4
add edi, 2
mov ebp, 2
jmp 0xe00c167
mov bx, 0x3a
jmp 0xe00c167
mov ax, word [edi + 2]
add edi, 2
cmp ax, 0x3e
mov ebp, 1
jne 0xe00b981
mov bx, 0x1ac
add edi, 2
mov ebp, 2
jmp 0xe00c167
cmp ax, 0x3d
jne 0xe00b998
mov bx, 0x1ae
add edi, 2
mov ebp, 2
jmp 0xe00c167
mov bx, 0x1b0
jmp 0xe00c167
add edi, 2
mov ebp, 1
cmp word [edi], 0x3d
jne 0xe00b9c0
mov bx, 0x1ad
add edi, 2
mov ebp, 2
jmp 0xe00c167
mov bx, 0x1af
jmp 0xe00c167
mov ebp, 1
mov ecx, dword [esp + 0x70]
mov bx, 0x5b
add edi, 2
mov dword [ecx + 0x2fdc], ebp
jmp 0xe00c167
mov si, word [edi]
xor edx, edx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x24], edx
cmp si, 0x7f
mov dword [esp + 0x14], edx
mov ecx, dword [ecx + 0x2fb0]
mov dword [esp + 0x28], edx
mov dword [esp + 0x1c], edx
ja 0xe00ba6c
movzx ebx, si
movsx eax, byte [ebx + 0xe04e118]
cmp eax, 0xffffffff
je 0xe00ba6c
cmp eax, 3
je 0xe00ba22
cmp eax, 2
jne 0xe00ba2a
mov dword [esp + 0x14], 1
movsx edx, byte [eax + edx*8 + 0xe04e098]
cmp edx, 0xb
jne 0xe00ba3d
mov dword [esp + 0x24], ebx
jmp 0xe00ba42
cmp edx, 0xffffffff
je 0xe00ba6c
mov eax, dword [esp + 0x28]
add eax, 2
cmp eax, 0x400
jae 0xe00ba5a
mov word [ecx], si
add ecx, 2
mov dword [esp + 0x28], eax
mov si, word [edi + 2]
add edi, 2
inc ebp
mov dword [esp + 0x1c], edx
cmp si, 0x7f
jbe 0xe00ba09
mov eax, dword [esp + 0x1c]
movsx edx, byte [eax + 0xe04e0f8]
movsx eax, byte [eax + 0xe04e108]
mov word [ecx + edx*2], 0
add ebp, eax
lea edi, [edi + eax*2]
mov ecx, dword [esp + 0x70]
mov esi, dword [ecx + 0x2fb0]
mov ax, word [esi]
cmp ax, 0x26
jne 0xe00bec1
add esi, 2
xor eax, eax
mov ax, word [esi]
cmp eax, 0x48
je 0xe00bc74
cmp eax, 0x68
je 0xe00bc74
cmp eax, 0x4f
je 0xe00bbac
cmp eax, 0x6f
je 0xe00bbac
cmp eax, 0x42
je 0xe00bae8
cmp eax, 0x62
je 0xe00bae8
mov dword [esp + 0x18], 0x6e
mov bx, word [esp + 0x28]
jmp 0xe00c167
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], 0xb3
add esi, 2
cmp word [esi], 0x30
jne 0xe00bb0a
add esi, 2
cmp word [esi], 0x30
je 0xe00bb01
lea ebx, [esp + 0x28]
mov ax, word [esi]
push eax
call fcn.0e03d260
movzx eax, ax
add esp, 4
cmp eax, 0x30
je 0xe00bb27
cmp eax, 0x31
jne 0xe00bb45
sub al, 0x30
add ebx, 2
lea ecx, [esp + 0x68]
inc dword [esp + 0x14]
movzx ax, al
mov word [ebx - 2], ax
cmp ebx, ecx
ja 0xe00bb9a
add esi, 2
jmp 0xe00bb0e
lea edx, [esp + 0x28]
xor esi, esi
cmp dword [esp + 0x14], esi
jle 0xe00bb66
mov ecx, dword [esp + 0x14]
xor ebx, ebx
add esi, esi
mov bx, word [edx]
add edx, 2
or ebx, esi
dec ecx
mov esi, ebx
jne 0xe00bb55
cmp dword [esp + 0x14], 0x10
jg 0xe00bd40
cmp dword [esp + 0x24], 0x25
je 0xe00bb83
cmp dword [esp + 0x24], 0
jne 0xe00bd40
test esi, 0x8000
je 0xe00bd40
or esi, 0xffff0000
jmp 0xe00bd40
mov dword [esp + 0x18], 0xb3
mov bx, word [esp + 0x28]
jmp 0xe00c167
xor ecx, ecx
cmp eax, 0x4f
je 0xe00bbb8
cmp eax, 0x6f
jne 0xe00bbbb
add esi, 2
mov dword [esp + 0x1c], 0x22
cmp word [esi], 0x30
jne 0xe00bbd2
add esi, 2
cmp word [esi], 0x30
je 0xe00bbc9
lea edx, [esp + 0x28]
mov ax, word [esi]
cmp ax, 0x30
jb 0xe00bc0d
cmp ax, 0x37
ja 0xe00bc0d
sub ax, 0x30
add esi, 2
mov word [edx], ax
add edx, 2
inc ecx
lea eax, [esp + 0x3e]
cmp edx, eax
jbe 0xe00bbd6
mov dword [esp + 0x18], 0x22
mov bx, word [esp + 0x28]
jmp 0xe00c167
cmp word [esi], 0
je 0xe00bc25
mov dword [esp + 0x18], 0x6d
mov bx, word [esp + 0x28]
jmp 0xe00c167
cmp ecx, 0xb
jne 0xe00bc44
cmp word [esp + 0x28], 3
jbe 0xe00bc44
mov dword [esp + 0x18], 0x22
mov bx, word [esp + 0x28]
jmp 0xe00c167
xor esi, esi
mov edx, 1
dec ecx
js 0xe00bd3c
lea ecx, [esp + ecx*2 + 0x28]
xor eax, eax
sub ecx, 2
mov ax, word [ecx + 2]
imul eax, edx
shl edx, 3
add esi, eax
lea eax, [esp + 0x28]
cmp ecx, eax
jae 0xe00bc56
jmp 0xe00bd3c
add esi, 2
xor ebx, ebx
mov dword [esp + 0x1c], 0x21
cmp word [esi], 0x30
jne 0xe00bc90
add esi, 2
cmp word [esi], 0x30
je 0xe00bc87
mov ax, word [esi]
push eax
call fcn.0e03d260
movzx eax, ax
add esp, 4
cmp eax, 0xff
ja 0xe00bcbb
xor ecx, ecx
mov cl, al
test byte [ecx + 0xe04e1d0], 2
je 0xe00bcbb
sub al, 0x30
movzx ax, al
jmp 0xe00bcd9
cmp eax, 0x61
jl 0xe00bccb
cmp eax, 0x66
jg 0xe00bccb
sub ax, 0x57
jmp 0xe00bcd9
cmp eax, 0x41
jl 0xe00bcfb
cmp eax, 0x46
jg 0xe00bcfb
sub ax, 0x37
mov word [esp + ebx*2 + 0x28], ax
inc ebx
cmp ebx, 8
jg 0xe00bce9
add esi, 2
jmp 0xe00bc90
mov dword [esp + 0x18], 0x21
mov bx, word [esp + 0x28]
jmp 0xe00c167
lea ecx, [esp + 0x28]
xor esi, esi
test ebx, ebx
jle 0xe00bd19
mov eax, ebx
shl esi, 4
xor edx, edx
mov dx, word [ecx]
add ecx, 2
or edx, esi
dec eax
mov esi, edx
jne 0xe00bd07
cmp ebx, 4
jg 0xe00bd40
cmp dword [esp + 0x24], 0x25
je 0xe00bd2c
cmp dword [esp + 0x24], 0
jne 0xe00bd40
test esi, 0x8000
je 0xe00bd40
or esi, 0xffff0000
jmp 0xe00bd40
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
sub ecx, 0x21
cmp ecx, 0x1f
ja case.0xe00bd54.38
xor eax, eax
mov al, byte [ecx + 0xe00c280]
jmp dword [eax*4 + 0xe00c268]
lea eax, [esp + 0x28]
push eax
push esi
call fcn.0e036fd0
test eax, eax
je 0xe00bd86
mov bx, 0x103
mov ecx, dword [esp + 0x70]
mov word [ecx + 0x2f88], 0x8002
mov dword [ecx + 0x2f90], esi
jmp 0xe00c167
mov ax, word [esp + 0x28]
mov ecx, dword [esp + 0x70]
mov word [ecx + 0x2f88], 0x8001
mov bx, 0x103
mov word [ecx + 0x2f90], ax
jmp 0xe00c167
lea eax, [esp + 0x28]
push eax
push esi
call fcn.0e036f40
test eax, eax
je 0xe00bdc9
mov bx, word [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
jmp 0xe00c167
mov bx, 0x103
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x70]
mov word [ecx + 0x2f88], 0x8004
mov dword [ecx + 0x2f90], eax
jmp 0xe00c167
mov bx, 0x103
mov ecx, dword [esp + 0x70]
mov word [ecx + 0x2f88], 0x8005
mov dword [esp + 0x28], esi
fild dword [esp + 0x28]
fstp qword [ecx + 0x2f90]
jmp 0xe00c167
lea eax, [esp + 0x28]
push eax
push esi
call fcn.0e036fd0
test eax, eax
je 0xe00be2e
mov bx, word [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
jmp 0xe00c167
mov ax, word [esp + 0x28]
mov ecx, dword [esp + 0x70]
mov word [ecx + 0x2f88], 0x8001
mov bx, 0x103
mov word [ecx + 0x2f90], ax
jmp 0xe00c167
mov bx, 0x103
mov ecx, dword [esp + 0x70]
mov word [ecx + 0x2f88], 0x8002
mov dword [ecx + 0x2f90], esi
jmp 0xe00c167
lea eax, [esp + 0x28]
push eax
push esi
call fcn.0e039250
test eax, eax
je 0xe00be8d
mov bx, word [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
jmp 0xe00c167
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov bx, 0x103
mov edx, dword [esp + 0x70]
mov dword [edx + 0x2f90], eax
mov dword [edx + 0x2f94], ecx
add edx, 0x2f90
mov edx, dword [esp + 0x70]
mov word [edx + 0x2f88], 0x800b
jmp 0xe00c167
test ax, ax
je 0xe00c160
mov ecx, dword [esp + 0x24]
sub ecx, 0x21
cmp ecx, 0x1f
ja case.0xe00bede.38
xor eax, eax
mov al, byte [ecx + 0xe00c2b8]
jmp dword [eax*4 + 0xe00c2a0]
cmp dword [esp + 0x14], 0
je 0xe00bf37
lea eax, [esp + 0x28]
push eax
push esi
call fcn.0e038150
test eax, eax
je 0xe00bf0d
mov dword [esp + 0x18], 0x78
mov bx, word [esp + 0x28]
jmp 0xe00c167
mov bx, 0x103
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x28]
mov word [ecx + 0x2f88], 0x8005
mov dword [ecx + 0x2f94], eax
mov dword [ecx + 0x2f90], edx
jmp 0xe00c167
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.0e039e50
test eax, eax
jne 0xe00bf68
mov ax, word [esp + 0x1c]
mov ecx, dword [esp + 0x70]
mov word [ecx + 0x2f88], 0x8001
mov bx, 0x103
mov word [ecx + 0x2f90], ax
jmp 0xe00c167
lea eax, [esp + 0x14]
push eax
push esi
call fcn.0e039f50
test eax, eax
jne 0xe00bf97
mov bx, 0x103
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x70]
mov word [ecx + 0x2f88], 0x8002
mov dword [ecx + 0x2f90], eax
jmp 0xe00c167
lea eax, [esp + 0x28]
push eax
push esi
call fcn.0e038150
test eax, eax
jne 0xe00bfd0
mov bx, 0x103
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x28]
mov word [ecx + 0x2f88], 0x8005
mov dword [ecx + 0x2f94], eax
mov dword [ecx + 0x2f90], edx
jmp 0xe00c167
mov dword [esp + 0x18], 0x20
mov bx, word [esp + 0x28]
jmp 0xe00c167
lea eax, [esp + 0x28]
push eax
push esi
call fcn.0e038150
test eax, eax
je 0xe00c003
mov dword [esp + 0x18], 0x77
mov bx, word [esp + 0x28]
jmp 0xe00c167
lea eax, [esp + 0x14]
lea ecx, [esp + 0x28]
push eax
push ecx
call fcn.0e036eb0
test eax, eax
je 0xe00c028
mov dword [esp + 0x18], 0x20
mov bx, word [esp + 0x28]
jmp 0xe00c167
mov bx, 0x103
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x70]
mov word [ecx + 0x2f88], 0x8004
mov dword [ecx + 0x2f90], eax
jmp 0xe00c167
lea eax, [esp + 0x28]
push eax
push esi
call fcn.0e038150
test eax, eax
je 0xe00c069
mov dword [esp + 0x18], 0x78
mov bx, word [esp + 0x28]
jmp 0xe00c167
mov bx, 0x103
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x28]
mov word [ecx + 0x2f88], 0x8005
mov dword [ecx + 0x2f94], eax
mov dword [ecx + 0x2f90], edx
jmp 0xe00c167
lea eax, [esp + 0x28]
push eax
push esi
call fcn.0e039e50
test eax, eax
je 0xe00c0b4
mov dword [esp + 0x18], 0x75
mov bx, word [esp + 0x28]
jmp 0xe00c167
mov ax, word [esp + 0x28]
mov ecx, dword [esp + 0x70]
mov word [ecx + 0x2f88], 0x8001
mov bx, 0x103
mov word [ecx + 0x2f90], ax
jmp 0xe00c167
lea eax, [esp + 0x28]
push eax
push esi
call fcn.0e039f50
test eax, eax
je 0xe00c0f4
mov dword [esp + 0x18], 0x76
mov bx, word [esp + 0x28]
jmp 0xe00c167
mov bx, 0x103
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x70]
mov word [ecx + 0x2f88], 0x8002
mov dword [ecx + 0x2f90], eax
jmp 0xe00c167
lea eax, [esp + 0x28]
push eax
push esi
call fcn.0e039a20
test eax, eax
je 0xe00c12f
mov dword [esp + 0x18], 0x79
mov bx, word [esp + 0x28]
jmp 0xe00c167
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov bx, 0x103
mov edx, dword [esp + 0x70]
mov dword [edx + 0x2f90], eax
mov dword [edx + 0x2f94], ecx
add edx, 0x2f90
mov edx, dword [esp + 0x70]
mov word [edx + 0x2f88], 0x800b
jmp 0xe00c167
mov bx, word [edi]
add edi, 2
inc ebp
mov ax, word [esp + 0x10]
mov ecx, dword [esp + 0x70]
mov word [ecx + 0x2fc0], ax
mov edx, dword [esp + 0x14]
mov ax, word [esp + 0x12]
mov dword [ecx + 0x2fb8], edi
cmp dword [esp + 0x18], 0
mov word [ecx + 0x2fc2], ax
mov dword [ecx + 0x2fbc], edx
mov edx, dword [esp + 0x20]
mov dword [ecx + 0x2fc8], ebp
mov dword [ecx + 0x2fc4], edx
je 0xe00c1b8
mov eax, dword [esp + 0x18]
push eax
push ecx
call fcn.0e00c2e0
add esp, 8
mov ax, bx
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x5c
ret