Function at 0x10974ff
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x104
push ebx
push esi
mov esi, dword [ebp + 8]
test esi, esi
push edi
je 0x1098595
mov ebx, dword [ebp + 0x10]
test ebx, ebx
je 0x1098595
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x1097532
cmp dword [eax + 8], 0x64
jb 0x1098595
push 0x30
pop ecx
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
push 1
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x109858e
cmp byte [ebp - 0xc], 0
jne 0x109858e
mov eax, dword [ebp - 0x28]
mov dword [ebx + 0x10], eax
mov eax, dword [esi + 0x118]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x10]
cmp eax, 0x30
jg 0x10975ee
je 0x109817c
dec eax
dec eax
je 0x109813d
dec eax
dec eax
je 0x109810f
dec eax
je 0x1097a07
sub eax, 0x1d
je 0x10977ed
sub eax, 6
je 0x1097760
sub eax, 5
jne 0x109841b
jmp 0x10975b8
cmp byte [ebp - 0xc], 0
jne 0x10975ca
cmp dword [ebp - 0x10], 0x2f
je 0x10975de
push 1
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.0109c1ff
mov edx, eax
test edx, edx
jge 0x10975ac
cmp dword [ebp - 0x10], 0x2f
jne 0x109841b
cmp byte [ebp - 0xc], 0
jne 0x109841b
test edx, edx
jl 0x109841b
mov esi, dword [ebp + 8]
jmp 0x1097532
cmp eax, 0x4c
jg 0x10982d2
je 0x10982e5
cmp eax, 0x33
je 0x1098220
cmp eax, 0x3f
jle 0x109841b
cmp eax, 0x41
jle 0x1097626
cmp eax, 0x44
jle 0x109841b
cmp eax, 0x46
jg 0x109841b
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x109841b
cmp byte [ebp - 0xc], 0
jne 0x109841b
cmp dword [ebp - 0x10], 0x66
je 0x109765f
cmp dword [ebp - 0x10], 0x4b
je 0x109768b
cmp dword [ebp - 0x10], 0x47
jne 0x1097626
jmp 0x1097747
push ebx
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
mov dword [ebx], 9
call fcn.010971d0
mov edx, eax
test edx, edx
jl 0x109841b
cmp byte [ebp - 0xc], 0
jne 0x109841b
jmp 0x1097747
mov dword [ebx], 0xa
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x109841b
cmp byte [ebp - 0xc], 0
jne 0x109841b
cmp dword [ebp - 0x10], 0x4b
je 0x1097691
cmp dword [ebp - 0x10], 0x4c
jne 0x10976cf
xor eax, eax
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x34], eax
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], eax
jmp 0x109773c
cmp dword [ebp - 0x10], 0x4d
jne case.0x10983c9.92
push 6
pop ecx
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
lea edi, [ebx + 0x28]
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x109841b
cmp byte [ebp - 0xc], 0
jne 0x109841b
cmp dword [ebp - 0x10], 0x4e
jne case.0x10983c9.92
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x109841b
cmp byte [ebp - 0xc], 0
jne 0x109841b
cmp dword [ebp - 0x10], 0x4c
jne case.0x10983c9.92
push 6
pop ecx
lea edi, [ebx + 0x40]
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx]
cmp eax, 9
je 0x109841b
cmp eax, 0xa
je 0x109841b
jmp 0x10975e6
push 1
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x10977e1
cmp byte [ebp - 0xc], 0
jne 0x10977e1
cmp dword [ebp - 0x10], 0x2a
jne 0x10977e1
mov dword [ebx], 5
lea edi, [ebx + 0x28]
push 6
pop ecx
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
jmp 0x10977b2
cmp byte [ebp - 0xc], 0
jne 0x10977c6
cmp dword [ebp - 0x10], 0x2b
jne 0x10977a2
lea edi, [ebx + 0x40]
jmp 0x1097787
cmp dword [ebp - 0x10], 0x29
je 0x109841b
cmp dword [ebp - 0x10], 4
je 0x10977d8
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.0109c1ff
mov edx, eax
test edx, edx
jge 0x1097791
mov dword [ebx + 0x40], 0x10
and dword [ebx], 0
lea esi, [ebp - 0x28]
jmp 0x1098098
mov dword [ebx + 0x40], 0x11
jmp 0x10977cd
mov dword [ebx + 0x40], 0x12
jmp 0x1098232
and dword [ebp + 0x14], 0
push 0
lea eax, [esi + 0x118]
dec dword [eax]
mov eax, dword [eax]
lea ecx, [ebp + 0x14]
push ecx
push eax
lea eax, [esi + 0x11c]
push eax
call fcn.01096baf
test eax, eax
jl 0x109859a
push 1
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x10979ed
cmp byte [ebp - 0xc], 0
jne 0x10979ed
cmp dword [ebp - 0x10], 0x23
je 0x1097846
cmp dword [ebp - 0x10], 0x26
jne 0x10979ed
cmp dword [ebp - 0x10], 0x26
jne 0x10978bc
push 6
pop ecx
push 6
lea edi, [ebx + 0x28]
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
pop ecx
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
lea edi, [ebx + 0x58]
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x10978a2
cmp byte [ebp - 0xc], 0
jne 0x10978a2
cmp dword [ebp - 0x10], 0x27
jne 0x10978a2
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x10978a2
cmp byte [ebp - 0xc], 0
jne 0x10978a2
cmp dword [ebp - 0x10], 0x23
je 0x10978bc
and dword [ebx], 0
push 6
pop ecx
lea esi, [ebp - 0x28]
lea edi, [ebx + 0x28]
rep movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x40], 7
jmp 0x109841b
push 6
pop ecx
lea edi, [ebx + 0x40]
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x14]
push 0x14
add esi, 0x28
lea edi, [ebx + 0x70]
pop ecx
rep movsd dword es:[edi], dword [esi]
dec dword [ebx + 4]
mov dword [ebx], 4
jmp 0x10978f2
cmp byte [ebp - 0xc], 0
jne 0x1097906
cmp dword [ebp - 0x10], 4
je 0x1097906
cmp dword [ebp - 0x10], 0x25
je 0x109791b
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.0109c1ff
mov edx, eax
test edx, edx
jge 0x10978e0
and dword [ebx], 0
push 6
pop eax
lea edi, [ebx + 0x28]
mov ecx, eax
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
jmp 0x1098204
cmp dword [ebp + 0xc], 0
je 0x109797f
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp + 0x10]
push eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
inc eax
push eax
push ebx
push 0
push dword [ebp + 0xc]
call fcn.010970ac
mov edx, eax
cmp edx, 0xc0000001
jne 0x109795d
mov eax, dword [ebp + 0x10]
push 6
xor edx, edx
lea edi, [ebx + 0x28]
pop ecx
lea esi, [ebp - 0x44]
mov dword [ebx], edx
rep movsd dword es:[edi], dword [esi]
jmp 0x1098204
test edx, edx
jl 0x109841b
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
inc eax
push eax
push dword [ebp + 0xc]
call fcn.01096913
mov edx, eax
test edx, edx
jl 0x109841b
lea eax, [ebp + 0xc]
push eax
lea eax, [ebx + 0x40]
push eax
lea eax, [ebx + 0x70]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [eax + 0x100]
cmp dword [ebp + 0xc], 0
mov edx, eax
jne 0x10979c0
test edx, edx
jl 0x109841b
lea eax, [ebp + 0xc]
push eax
lea eax, [ebx + 0x58]
push eax
lea eax, [ebx + 0xa0]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [eax + 0x100]
mov edx, eax
test edx, edx
jl 0x109841b
cmp dword [ebp + 0xc], 0
je 0x109841b
push 6
xor edx, edx
lea esi, [ebx + 0x10]
lea edi, [ebx + 0x28]
pop ecx
mov dword [ebx], edx
rep movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x40], 0x1c
jmp 0x109841b
and dword [ebx], 0
push 6
lea edi, [ebx + 0x28]
pop ecx
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x40], 8
jmp 0x109841b
mov al, byte [esi + 0x114]
test al, al
je 0x1097a35
cmp dword [esi + 0x118], 0
jne 0x1097a35
push 6
xor edx, edx
lea edi, [ebx + 0x28]
pop ecx
lea esi, [ebp - 0x28]
mov dword [ebx], edx
rep movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x40], 0x1d
jmp 0x109841b
and dword [ebp + 0x10], 0
and dword [ebp - 0x2c], 0
test al, al
jne 0x1097a48
mov byte [esi + 0x114], 1
push 1
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x1097ace
cmp byte [ebp - 0xc], 0
jne 0x1097ace
cmp dword [ebp - 0x10], 6
je 0x1097a6c
cmp dword [ebp - 0x10], 0x16
jne 0x1097ace
cmp dword [ebp - 0x10], 0x16
mov dword [ebx], 3
jne 0x1097ae6
push 6
pop ecx
push 6
lea edi, [ebx + 0x40]
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
pop ecx
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
lea edi, [ebx + 0x58]
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x1097ada
cmp byte [ebp - 0xc], 0
jne 0x1097ada
cmp dword [ebp - 0x10], 0x17
jne 0x1097ada
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x1097ace
cmp byte [ebp - 0xc], 0
jne 0x1097ace
cmp dword [ebp - 0x10], 6
je 0x1097ae6
mov dword [ebx + 0x40], 4
jmp 0x1098232
mov dword [ebx + 0x40], 5
jmp 0x1098232
and dword [ebx + 0x70], 0
push 6
lea edi, [ebx + 0x28]
pop ecx
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
jmp 0x1097fa8
cmp eax, 0x1b
je 0x109804c
cmp eax, 4
je 0x109804c
cmp byte [ebp - 0xc], 0
jne 0x109841b
test edx, edx
jl 0x109841b
sub eax, 7
je 0x1097e8b
dec eax
je 0x1097db2
sub eax, 7
je 0x1097ccc
sub eax, 9
je 0x1097bed
sub eax, 4
jne 0x1097f9f
xor edi, edi
mov dword [ebp - 8], edi
lea esi, [ebp - 0xa8]
mov dword [ebp - 4], edi
push 1
lea eax, [esi - 0x1c]
push eax
push dword [ebp + 8]
call fcn.0109c1ff
test eax, eax
jl 0x1097be1
cmp byte [esi], 0
jne 0x1097b94
mov eax, dword [esi - 4]
mov ecx, dword [ebp - 4]
cmp eax, dword [ecx + 0x101c8c0]
jne 0x1097b8c
add dword [ebp - 4], 0xc
inc dword [ebp - 8]
add esi, 0x20
cmp dword [ebp - 4], 0x30
jne 0x1097b57
mov edi, dword [ebp - 8]
cmp edi, 4
je 0x1097bb7
and dword [ebx], 0
mov eax, edi
imul eax, eax, 0xc
mov eax, dword [eax + 0x101c8c4]
shl edi, 5
lea esi, [ebp + edi - 0xc4]
push 6
pop ecx
lea edi, [ebx + 0x28]
mov dword [ebx + 0x40], eax
rep movsd dword es:[edi], dword [esi]
push 1
lea eax, [ebp + 0x10]
push eax
push dword [ebx + 0x70]
push dword [ebp + 0x14]
call fcn.01096baf
mov edx, eax
test edx, edx
jl 0x1098427
mov edi, dword [ebp + 0x10]
push 0x19
pop ecx
xor eax, eax
rep stosd dword es:[edi], eax
jmp 0x1097e6a
and dword [ebx], 0
mov dword [ebx + 0x40], 0xb
jmp 0x1097bb7
xor edi, edi
mov dword [ebp - 8], edi
lea esi, [ebp - 0xe8]
mov dword [ebp - 4], edi
push 1
lea eax, [esi - 0x1c]
push eax
push dword [ebp + 8]
call fcn.0109c1ff
test eax, eax
jl 0x1097cc0
cmp byte [esi], 0
jne 0x1097c3c
mov eax, dword [esi - 4]
mov ecx, dword [ebp - 4]
cmp eax, dword [ecx + 0x101c878]
jne 0x1097c34
add dword [ebp - 4], 0xc
inc dword [ebp - 8]
add esi, 0x20
cmp dword [ebp - 4], 0x48
jne 0x1097bfb
mov edi, dword [ebp - 8]
cmp edi, 6
je 0x1097c5f
and dword [ebx], 0
mov eax, edi
imul eax, eax, 0xc
mov eax, dword [eax + 0x101c87c]
shl edi, 5
lea esi, [ebp + edi - 0x104]
push 6
pop ecx
lea edi, [ebx + 0x28]
mov dword [ebx + 0x40], eax
rep movsd dword es:[edi], dword [esi]
push 1
lea eax, [ebp + 0x10]
push eax
push dword [ebx + 0x70]
push dword [ebp + 0x14]
call fcn.01096baf
mov edx, eax
test edx, edx
jl 0x1098427
mov edi, dword [ebp + 0x10]
push 6
pop eax
mov ecx, eax
lea esi, [ebp - 0xe4]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 0x10]
add edi, 0x18
mov ecx, eax
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 0x10]
add edi, 0x48
mov ecx, eax
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 0x10]
mov ecx, eax
add edi, 0x30
lea esi, [ebp - 0x84]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x10]
mov byte [eax + 0x60], 0
jmp 0x1097f95
and dword [ebx], 0
mov dword [ebx + 0x40], 0xb
jmp 0x1097c5f
xor edi, edi
mov dword [ebp - 8], edi
lea esi, [ebp - 0xe8]
mov dword [ebp - 4], edi
push 1
lea eax, [esi - 0x1c]
push eax
push dword [ebp + 8]
call fcn.0109c1ff
test eax, eax
jl 0x1097da6
cmp byte [esi], 0
jne 0x1097d1b
mov eax, dword [esi - 4]
mov ecx, dword [ebp - 4]
cmp eax, dword [ecx + 0x101c830]
jne 0x1097d13
add dword [ebp - 4], 0xc
inc dword [ebp - 8]
add esi, 0x20
cmp dword [ebp - 4], 0x48
jne 0x1097cda
mov edi, dword [ebp - 8]
cmp edi, 6
je 0x1097d3e
and dword [ebx], 0
mov eax, edi
imul eax, eax, 0xc
mov eax, dword [eax + 0x101c834]
shl edi, 5
lea esi, [ebp + edi - 0x104]
push 6
pop ecx
lea edi, [ebx + 0x28]
mov dword [ebx + 0x40], eax
rep movsd dword es:[edi], dword [esi]
push 1
lea eax, [ebp + 0x10]
push eax
push dword [ebx + 0x70]
push dword [ebp + 0x14]
call fcn.01096baf
mov edx, eax
test edx, edx
jl 0x1098427
mov edi, dword [ebp + 0x10]
push 6
pop eax
mov ecx, eax
lea esi, [ebp - 0xe4]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 0x10]
add edi, 0x18
mov ecx, eax
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 0x10]
add edi, 0x48
mov ecx, eax
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 0x10]
mov ecx, eax
add edi, 0x30
lea esi, [ebp - 0x84]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x10]
mov byte [eax + 0x60], 0
mov eax, dword [ebp + 0x10]
mov byte [eax + 0x61], 1
jmp 0x1097f9c
and dword [ebx], 0
mov dword [ebx + 0x40], 0xb
jmp 0x1097d3e
xor edi, edi
mov dword [ebp - 4], edi
mov dword [ebp - 8], edi
lea esi, [ebp - 0xa8]
push 1
lea eax, [esi - 0x1c]
push eax
push dword [ebp + 8]
call fcn.0109c1ff
test eax, eax
jl 0x1097df6
cmp byte [esi], 0
jne 0x1097df6
mov ecx, dword [esi - 4]
cmp ecx, dword [edi + 0x101c800]
jne 0x1097df0
inc dword [ebp - 8]
add edi, 0xc
add esi, 0x20
cmp edi, 0x30
jne 0x1097dc0
mov ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
test eax, eax
mov edx, eax
jl 0x1097fd8
cmp dword [ebp - 4], 4
jne 0x1097ffc
cmp dword [ebp + 0xc], 0
je 0x1097e37
lea eax, [ebp - 0x84]
push eax
mov eax, dword [ebx + 4]
inc eax
push eax
push dword [ebp + 0xc]
call fcn.010967d0
cmp eax, 0xc00000bd
je 0x1098024
test eax, eax
jl 0x109859a
push 1
lea eax, [ebp + 0x10]
push eax
push dword [ebx + 0x70]
push dword [ebp + 0x14]
call fcn.01096baf
mov edx, eax
test edx, edx
jl 0x1098427
mov edi, dword [ebp + 0x10]
push 0x19
xor eax, eax
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x10]
mov byte [eax + 0x60], 1
mov eax, dword [ebp + 0x10]
mov byte [eax + 0x61], 0
mov edi, dword [ebp + 0x10]
push 6
pop ecx
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 0x10]
push 6
add edi, 0x30
pop ecx
lea esi, [ebp - 0x84]
rep movsd dword es:[edi], dword [esi]
jmp 0x1097f9c
push 6
pop ecx
lea esi, [ebp - 0x28]
lea edi, [ebp - 0x44]
rep movsd dword es:[edi], dword [esi]
xor edi, edi
mov dword [ebp - 8], edi
lea esi, [ebp - 0xe8]
mov dword [ebp - 4], edi
push 1
lea eax, [esi - 0x1c]
push eax
push dword [ebp + 8]
call fcn.0109c1ff
test eax, eax
jl 0x1097fc9
cmp byte [esi], 0
jne 0x1097ee5
mov eax, dword [esi - 4]
mov ecx, dword [ebp - 4]
cmp eax, dword [ecx + 0x101c7b8]
jne 0x1097edd
add dword [ebp - 4], 0xc
inc dword [ebp - 8]
add esi, 0x20
cmp dword [ebp - 4], 0x48
jne 0x1097ea4
mov edi, dword [ebp - 8]
cmp edi, 6
je 0x1097f08
and dword [ebx], 0
mov eax, edi
imul eax, eax, 0xc
mov eax, dword [eax + 0x101c7bc]
shl edi, 5
lea esi, [ebp + edi - 0x104]
push 6
pop ecx
lea edi, [ebx + 0x28]
mov dword [ebx + 0x40], eax
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp + 0xc], 0
je 0x1097f3c
lea eax, [ebp - 0xe4]
push eax
lea eax, [ebp - 0x84]
push eax
mov eax, dword [ebx + 4]
inc eax
push eax
push dword [ebp + 0xc]
call fcn.01096673
cmp eax, 0xc00000bd
je 0x1098039
test eax, eax
jl 0x109859a
push 1
lea eax, [ebp + 0x10]
push eax
push dword [ebx + 0x70]
push dword [ebp + 0x14]
call fcn.01096baf
mov edx, eax
test edx, edx
jl 0x1098427
mov edi, dword [ebp + 0x10]
push 0x19
pop ecx
push 6
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 0x10]
pop ecx
lea esi, [ebp - 0xe4]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 0x10]
push 6
add edi, 0x48
pop ecx
lea esi, [ebp - 0x44]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 0x10]
push 6
add edi, 0x30
pop ecx
lea esi, [ebp - 0x84]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x10]
mov byte [eax + 0x60], 1
mov eax, dword [ebp + 0x10]
mov byte [eax + 0x61], 0
inc dword [ebx + 0x70]
cmp dword [ebx], 0
je 0x1098048
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.0109c1ff
mov edx, eax
mov eax, dword [ebp - 0x10]
cmp eax, 0x1a
jne 0x1097afa
jmp 0x109804c
and dword [ebx], 0
mov dword [ebx + 0x40], 0xb
jmp 0x1097f08
mov eax, dword [ebp - 4]
and dword [ebx], 0
shl eax, 5
push 6
lea esi, [ebp + eax - 0xc4]
pop ecx
lea edi, [ebx + 0x28]
rep movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x40], 0xb
jmp 0x109841b
mov eax, dword [ebp - 4]
and dword [ebx], 0
mov ecx, eax
shl ecx, 5
imul eax, eax, 0xc
lea esi, [ebp + ecx - 0xc4]
push 6
pop ecx
lea edi, [ebx + 0x28]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x101c804]
jmp 0x1098204
xor edx, edx
mov dword [ebx], edx
mov dword [ebx + 0x40], 0x1f
push 6
lea edi, [ebx + 0x28]
jmp 0x1098212
mov dword [ebx + 0x40], 0x1e
lea esi, [ebp - 0xe4]
jmp 0x1098094
mov byte [ebp - 0xc], 1
cmp byte [ebp - 0xc], 0
jne 0x109841b
test edx, edx
jl 0x109841b
xor esi, esi
cmp dword [ebp + 0xc], esi
mov dword [ebp - 8], esi
je 0x1098083
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 8]
push eax
mov eax, dword [ebx + 4]
inc eax
push eax
push ebx
push dword [ebp + 0x14]
push dword [ebp + 0xc]
call fcn.010970ac
mov edx, eax
cmp edx, 0xc0000001
jne 0x10980a2
mov eax, dword [ebp - 8]
mov dword [ebx + 0x40], eax
lea esi, [ebp - 0x44]
xor edx, edx
mov dword [ebx], edx
push 6
lea edi, [ebx + 0x28]
jmp 0x1098218
cmp edx, esi
jl 0x1098427
cmp dword [ebp - 0x10], 0x1b
jne 0x10980d9
cmp dword [ebp + 0xc], esi
mov byte [ebx + 0x74], 1
je 0x109841b
mov eax, dword [ebx + 4]
inc eax
push eax
push dword [ebp + 0xc]
call fcn.01096913
mov edx, eax
test edx, edx
jge 0x109841b
jmp 0x1098427
push 1
lea eax, [ebp - 0x2c]
push eax
push dword [ebx + 4]
mov eax, dword [ebp + 8]
add eax, 0x11c
push eax
call fcn.01096baf
mov edx, eax
cmp edx, esi
jl 0x1098427
mov eax, dword [ebp + 8]
inc dword [eax + 0x118]
mov edi, dword [ebp - 0x2c]
push 0x30
mov esi, ebx
jmp 0x1098218
cmp dword [esi + 0x118], 0
jne 0x1098123
mov dword [ebx], 1
jmp 0x109841b
and dword [ebx], 0
push 6
lea edi, [ebx + 0x28]
pop ecx
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x40], 9
jmp 0x109841b
cmp byte [esi + 0x114], 0
je 0x1098171
cmp dword [esi + 0x118], 0
jne 0x1098171
lea eax, [ebp + 0xf]
push eax
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.0109d366
mov edx, eax
test edx, edx
jl 0x109841b
cmp byte [ebp + 0xf], 0
je 0x1097a1a
mov dword [ebx], 7
jmp 0x1098235
cmp byte [esi + 0x114], 0
je 0x1098192
cmp dword [esi + 0x118], 0
je 0x1097a1a
xor eax, eax
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x14], eax
lea edi, [ebp - 0x68]
mov dword [ebp + 0xc], eax
push 1
lea eax, [edi - 0x1c]
push eax
push esi
call fcn.0109c1ff
test eax, eax
jl 0x10981d9
cmp byte [edi], 0
jne 0x10981d9
mov ecx, dword [edi - 4]
mov edx, dword [ebp + 0xc]
cmp ecx, dword [edx + 0x101c79c]
jne 0x10981d3
inc dword [ebp + 0x14]
add dword [ebp + 0xc], 0xc
add edi, 0x20
cmp dword [ebp + 0xc], 0x18
jne 0x10981a0
mov ecx, dword [ebp + 0x14]
mov dword [ebp + 0x10], ecx
cmp dword [ebp + 0x10], 2
mov edx, eax
lea edi, [ebx + 0x28]
push 6
je 0x109820c
mov eax, dword [ebp + 0x10]
and dword [ebx], 0
mov ecx, eax
shl ecx, 5
imul eax, eax, 0xc
lea esi, [ebp + ecx - 0x84]
pop ecx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x101c7a0]
mov dword [ebx + 0x40], eax
jmp 0x109841b
mov dword [ebx], 8
lea esi, [ebp - 0x84]
pop ecx
rep movsd dword es:[edi], dword [esi]
jmp 0x109841b
xor edi, edi
cmp byte [esi + 0x114], 0
je 0x109823f
mov dword [ebx + 0x40], 0x14
and dword [ebx], 0
lea edi, [ebx + 0x28]
push 6
lea esi, [ebp - 0x28]
jmp 0x1098218
push 1
lea eax, [ebp - 0x28]
push eax
mov dword [ebx], 2
push esi
jmp 0x109829f
cmp byte [ebp - 0xc], 0
mov eax, dword [ebp - 0x10]
jne 0x10982af
cmp eax, 4
je 0x10982af
cmp eax, 0x34
je 0x109841b
cmp eax, 1
je 0x10982af
sub eax, 0x37
je 0x1098293
dec eax
je 0x109828e
dec eax
je 0x1098289
dec eax
dec eax
jne 0x1098296
test edi, edi
je 0x1098296
push 6
pop ecx
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
xor edi, edi
jmp 0x1098296
lea edi, [ebx + 0x40]
jmp 0x1098296
lea edi, [ebx + 0x58]
jmp 0x1098296
lea edi, [ebx + 0x28]
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.0109c1ff
mov edx, eax
test edx, edx
jge 0x109824e
jmp 0x1098427
cmp eax, 0x34
je 0x109841b
and dword [ebx], 0
push 6
lea edi, [ebx + 0x28]
pop ecx
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x40], 0x13
jmp 0x109841b
cmp eax, 0x4f
je 0x10982e5
cmp eax, 0x65
jne 0x109841b
jmp 0x1098311
mov esi, dword [ebp + 8]
push 1
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x109841b
cmp byte [ebp - 0xc], 0
jne 0x109841b
cmp dword [ebp - 0x10], 0x4f
je 0x10982e2
cmp dword [ebp - 0x10], 0x65
jne 0x109831c
mov dword [ebx], 0xc
jmp 0x109841b
xor eax, eax
cmp dword [ebp - 0x10], 0x51
mov dword [ebx + 0x34], eax
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x2c], eax
jne 0x1098389
push 6
pop ecx
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
lea edi, [ebx + 0x28]
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x109841b
cmp byte [ebp - 0xc], 0
jne 0x109841b
cmp dword [ebp - 0x10], 0x52
jne case.0x10983c9.92
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x109841b
cmp byte [ebp - 0xc], 0
jne 0x109841b
cmp dword [ebp - 0x10], 0x50
jne case.0x10983c9.92
push 6
pop ecx
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
lea edi, [ebx + 0x40]
lea esi, [ebp - 0x28]
mov dword [ebx], 0xb
rep movsd dword es:[edi], dword [esi]
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x109841b
cmp byte [ebp - 0xc], 0
jne 0x109841b
mov eax, dword [ebp - 0x10]
add eax, 0xffffffad
cmp eax, 0xb
ja case.0x10983c9.92
jmp dword [eax*4 + 0x10985a1]
and dword [ebx + 0x58], 0
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x109841b
cmp byte [ebp - 0xc], 0
jne 0x109841b
mov eax, dword [ebp - 0x10]
sub eax, 0x5f
mov dword [ebx + 0x74], 3
je 0x1098585
dec eax
je 0x1098579
dec eax
je 0x1098504
dec eax
je 0x109852d
mov edx, 0xc0000001
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
sub eax, dword [ebx + 0x10]
mov dword [ebx + 0x14], eax
mov eax, edx
jmp 0x109859a
mov dword [ebx + 0x58], 1
jmp 0x10983d4
mov dword [ebx + 0x58], 2
jmp 0x10983d4
mov dword [ebx + 0x58], 3
jmp 0x10983d4
mov dword [ebx + 0x58], 4
jmp 0x10983d4
mov dword [ebx + 0x58], 5
jmp 0x10983d4
mov dword [ebx + 0x58], 6
jmp 0x10983d4
mov dword [ebx + 0x58], 7
jmp 0x10983d4
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x109841b
cmp byte [ebp - 0xc], 0
jne 0x109841b
cmp dword [ebp - 0x10], 0x5c
jne case.0x10983c9.94
mov dword [ebx + 0x58], 9
push 6
pop ecx
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
lea edi, [ebx + 0x5c]
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x109841b
cmp byte [ebp - 0xc], 0
je 0x10983d4
jmp 0x109841b
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x109841b
cmp byte [ebp - 0xc], 0
jne 0x109841b
cmp dword [ebp - 0x10], 0x5c
jne case.0x10983c9.92
mov dword [ebx + 0x58], 8
jmp 0x109849d
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
mov dword [ebx + 0x74], 2
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x109841b
cmp byte [ebp - 0xc], 0
jne 0x109841b
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.0109c1ff
mov edx, eax
test edx, edx
jl 0x109841b
cmp byte [ebp - 0xc], 0
jne 0x109841b
cmp dword [ebp - 0x10], 0x63
jne case.0x10983c9.92
push 6
pop ecx
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
lea edi, [ebx + 0x78]
lea esi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
call fcn.0109c1ff
mov edx, eax
jmp 0x109841b
mov dword [ebx + 0x74], 1
jmp 0x109841b
and dword [ebx + 0x74], 0
jmp 0x109841b
mov eax, 0xc0000001
jmp 0x109859a
mov eax, 0xc000000d
pop edi
pop esi
pop ebx
leave
ret 0x10