Function at 0x101efbb1
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x7c
mov eax, dword [esp + 0x90]
xor edx, edx
push ebx
push ebp
mov dword [esp + 0x1c], eax
push esi
mov eax, 0xffff
mov ebx, ecx
mov ecx, dword [esp + 0x98]
xor esi, esi
mov dword [esp + 0x50], eax
inc esi
mov eax, ecx
push edi
mov dword [esp + 0x58], edx
mov dword [esp + 0x2c], 0xff
mov ebp, edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x34], esi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x60], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x44], esi
dec eax
je 0x101efc4b
sub eax, 3
je 0x101efc2d
dec eax
je 0x101efc29
mov edi, edx
jmp 0x101efc54
mov dword [esp + 0x44], edx
cmp ecx, 4
jne 0x101efc36
and dword [ebx + 0x24], 0xfffffffb
mov dword [esp + 0x30], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x9c], 4
jmp 0x101efc4f
and dword [ebx + 0x24], 0xfffffffb
mov edi, 0xf8
mov ecx, ebx
mov dword [esp + 0x40], edi
call fcn.101f0a39
push dword [esp + 0x98]
mov esi, dword [esp + 0x98]
mov ecx, dword [esp + 0x94]
push esi
call fcn.101d77e2
mov dword [esp + 0x20], eax
test eax, eax
js 0x101f09df
call fcn.1015692e
test eax, eax
je 0x101efcfe
cmp dword [esp + 0x50], ebp
jne 0x101f024a
cmp dword [0x10244bc0], 0x9c69
jne 0x101f024a
movzx ecx, word [0x10244bac]
mov edx, dword [esp + 0x98]
lea eax, [edx - 1]
cmp ecx, eax
jne 0x101f024a
movzx eax, word [0x10244bb0]
add eax, dword [esi + ecx*4]
push edx
mov cl, byte [eax]
mov byte [esp + 0x17], cl
mov ecx, dword [esp + 0x94]
push esi
mov dword [esp + 0x74], eax
mov byte [eax], 0
mov dword [esp + 0x58], 1
call fcn.101d77e2
mov dword [esp + 0x20], eax
test eax, eax
jns 0x101efc86
mov esi, eax
jmp 0x101efd88
mov eax, dword [0x1023ebb0]
cmp eax, 0xf7
je 0x101efd72
add eax, 0xfffffef0
cmp eax, 3
ja 0x101efd2f
or dword [ebx + 0x24], 2
lea eax, [ebx + 0x20]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.101c91a6
mov esi, dword [esp + 0x9c]
jmp 0x101efd48
mov esi, dword [esp + 0x9c]
test esi, esi
je 0x101efd3f
cmp esi, 1
jne 0x101efd48
call fcn.101f0c7c
test eax, eax
jne 0x101efd79
call fcn.101c9199
test eax, eax
je 0x101efde1
lea ecx, [ebx + 0x24]
and dword [ecx], 0xfffffffd
mov edx, dword [ecx]
cmp esi, 3
jne 0x101efd97
cmp dword [0x1023ebb0], 0x9c
jne 0x101f0517
mov dword [ebx + 0x1c], 0xc
mov esi, dword [esp + 0x20]
cmp dword [esp + 0x50], 0
je 0x101f09e1
mov eax, dword [esp + 0x6c]
mov cl, byte [esp + 0x13]
mov byte [eax], cl
jmp 0x101f09e1
cmp esi, 4
jne 0x101efdc7
mov eax, dword [0x1023ebb0]
add eax, 0xfffffeff
cmp eax, 8
jbe 0x101efde1
cmp dword [esp + 0x44], ebp
je 0x101efddd
call fcn.101f0c57
test eax, eax
je 0x101efddd
or edx, esi
mov dword [ebx + 0x1c], 0x12
mov dword [ecx], edx
jmp 0x101efddd
cmp esi, 1
jne 0x101efddd
call fcn.101f0c57
shl eax, 2
xor eax, edx
and eax, 4
xor eax, edx
mov dword [ecx], eax
and dword [esp + 0x34], ebp
cmp dword [0x1023ebb0], 0x10f
je 0x101f0517
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.101c91a6
mov eax, dword [esp + 0x54]
mov ecx, 0xffff
cmp ax, cx
je 0x101efe4b
cmp word [esp + 0x14], ax
je 0x101efe4b
mov ecx, dword [esp + 0x28]
cmp ecx, 0xfd
je 0x101efe4b
mov esi, dword [esp + 0x24]
mov edx, 0xf4
cmp ecx, edx
je 0x101efe4f
mov eax, dword [0x1023ebb0]
lea ecx, [edx + 9]
cmp eax, ecx
je 0x101efe4f
cmp eax, edx
je 0x101efe4f
test esi, esi
je 0x101eff7a
xor ebp, ebp
inc ebp
jmp 0x101efe4f
mov esi, dword [esp + 0x24]
movzx eax, word [esp + 0x14]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x54], eax
test ecx, ecx
je 0x101efec6
cmp dword [ebx + 0x18], 0
jne 0x101efec6
mov eax, dword [0x1023ebb0]
add eax, 0xfffffeff
cmp eax, 8
jbe 0x101efe8c
cmp dword [esp + 0x34], 0
jne 0x101efec6
cmp dword [esp + 0x44], 0
je 0x101efec6
call fcn.101f0c57
test eax, eax
je 0x101efec6
mov ecx, ebx
call fcn.101f09fd
mov edi, dword [0x1023ebb0]
xor eax, eax
xor ecx, ecx
inc eax
xor esi, esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x40], edi
cmp dword [esp + 0x44], ecx
je 0x101efec6
call fcn.101f0c57
test eax, eax
je 0x101efec6
mov dword [ebx + 0x1c], 0x12
mov eax, dword [0x1023ebb0]
mov edx, 0xa9
cmp eax, edx
jg 0x101f005c
je 0x101f0243
cmp eax, 0x5b
jg 0x101f003a
je 0x101f0243
test eax, eax
je 0x101eff7a
push 0xf
pop edx
cmp eax, edx
je 0x101eff4f
cmp eax, 0x3d
je 0x101f0243
cmp eax, 0x44
jne 0x101f0149
test esi, esi
jne 0x101eff7a
test esi, esi
je 0x101eff7a
inc dword [ebx + 0x18]
mov ecx, ebx
call fcn.101f09fd
and dword [esp + 0x3c], 0
xor eax, eax
inc eax
xor ebp, ebp
and dword [esp + 0x38], ebp
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], 0xff
cmp dword [esp + 0x48], 0
je 0x101f00cc
and dword [esp + 0x48], 0
jmp 0x101f00da
cmp dword [esp + 0x9c], 4
jne 0x101f0149
test ecx, ecx
jne 0x101f0149
mov dword [esp + 0x28], edx
cmp dword [0x1023ebb0], 0x10f
je 0x101eff7a
call fcn.101c9169
mov ebp, dword [esp + 0x1c]
mov edx, dword [ebx + 4]
test edx, edx
je 0x101eff97
mov eax, dword [ebx]
mov ecx, edx
imul ecx, ecx, 0x18
cmp dword [ecx + eax - 0x18], 0
je 0x101f0243
test ebp, ebp
jne 0x101effaa
cmp dword [esp + 0x4c], ebp
je 0x101effaa
cmp edx, 1
je 0x101f0243
push 0xb
pop ebp
mov edi, 0x93
mov eax, dword [0x1023ebb0]
sub eax, 0x4e
je 0x101f0243
sub eax, ebp
je 0x101f0243
dec eax
je 0x101f0030
sub eax, 0x16
je 0x101f0030
sub eax, 0x34
je 0x101f0520
sub eax, ebp
je 0x101f0243
sub eax, 0x44
jne 0x101efff5
mov eax, dword [0x1023ebb8]
cmp di, word [eax + 0x10]
je 0x101f0243
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x9c]
mov eax, dword [0x1023ebb0]
sub eax, 0x4e
je 0x101f0243
sub eax, ebp
je 0x101f0243
dec eax
je 0x101f0030
sub eax, 0x16
je 0x101f0030
sub eax, 0x34
jne 0x101f0541
cmp ecx, 4
je 0x101f053c
call fcn.101c9169
jmp 0x101effb2
sub eax, 0x92
je 0x101f0243
sub eax, 3
je 0x101f0243
sub eax, 7
jne 0x101f0149
jmp 0x101f01bc
mov ecx, 0xfd
cmp eax, ecx
jg 0x101f012e
je 0x101f00f4
sub eax, 0xb2
je 0x101eff0e
sub eax, 0x41
je 0x101f01bc
dec eax
je 0x101f00f4
sub eax, 5
jne 0x101f0149
lea edi, [esp + 0x64]
call fcn.101f0c03
test eax, eax
je 0x101f04e6
test esi, esi
je 0x101f00aa
cmp dword [ebx + 4], 0
jne 0x101f00b1
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x2c], eax
push dword [esp + 0x64]
mov ecx, ebx
call fcn.101f0bbc
mov dword [esp + 0x20], eax
test eax, eax
js 0x101efd79
mov edi, dword [esp + 0x40]
mov eax, dword [0x1023ebb0]
mov dword [esp + 0x28], eax
call fcn.101c9169
and dword [esp + 0x34], 0
cmp dword [0x1023ebb0], 0x10f
je 0x101eff7a
jmp 0x101efdf1
xor eax, eax
cmp dword [0x1023ebb0], ecx
mov ecx, ebx
setne al
inc eax
push eax
call fcn.101f0a91
mov dword [esp + 0x20], eax
test eax, eax
js 0x101efd79
cmp word [0x1023ebb4], 0
je 0x101f0129
test esi, esi
je 0x101eff69
xor ebp, ebp
inc ebp
inc dword [ebx + 0x2c]
jmp 0x101f00cc
sub eax, 0xff
je 0x101eff0e
sub eax, 0xe
je 0x101f04b5
dec eax
je 0x101eff12
mov eax, dword [0x1023ebb0]
cmp byte [eax + 0x1023d108], 0
je 0x101f03f6
mov ecx, dword [esp + 0x90]
mov esi, dword [ecx + 0x90]
lea ecx, [esp + 0x68]
push ecx
lea ecx, [esp + 0x74]
push ecx
push eax
mov ecx, esi
call fcn.100e57fd
test al, al
je 0x101f0189
cmp dword [esp + 0x68], 0
jne 0x101f03f2
cmp dword [ebx + 4], 0
jne 0x101f01b8
push dword [0x1023ebb8]
mov ecx, esi
call fcn.100e134b
test eax, eax
je 0x101f01b3
call fcn.101c9199
test eax, eax
je 0x101f01b3
mov dword [esp + 0x4c], 1
jmp 0x101f01b8
and dword [esp + 0x4c], 0
mov esi, dword [esp + 0x24]
test esi, esi
je 0x101f02b1
mov ecx, dword [esp + 0x28]
cmp ecx, 0x10d
jne 0x101f01f3
cmp dword [ebx + 0x14], 0
jne 0x101f01f3
cmp dword [ebx + 0x18], 0
jne 0x101f01f3
mov ecx, ebx
call fcn.101f0b71
mov dword [esp + 0x20], eax
test eax, eax
js 0x101efd79
mov ecx, dword [esp + 0x28]
mov eax, dword [ebx + 0x18]
cmp dword [esp + 0x58], eax
jne 0x101f028a
test ebp, ebp
je 0x101f023b
test eax, eax
jne 0x101f020e
cmp dword [esp + 0x1c], eax
je 0x101f0216
mov dword [esp + 0x2c], 0xff
cmp dword [ebx + 4], 0
je 0x101f022f
mov ecx, ebx
call fcn.101f09fd
and dword [esp + 0x38], 0
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
and dword [esp + 0x3c], 0
xor ebp, ebp
jmp 0x101f02bf
cmp ecx, 0xf3
jne 0x101f02bf
mov ecx, ebx
call fcn.101f09fd
cmp dword [ebx + 4], 0
jne 0x101f09c6
cmp dword [esp + 0x9c], 3
jne 0x101f09bc
mov ecx, ebx
call fcn.101f0a63
mov esi, eax
test esi, esi
je 0x101f0280
push 4
call fcn.1001ce9c
mov dword [esi], eax
test eax, eax
jne 0x101f09b5
mov esi, 0x8007000e
jmp 0x101efd7d
mov ecx, ebx
mov dword [esp + 0x58], eax
call fcn.101f09fd
and dword [esp + 0x3c], 0
xor eax, eax
inc eax
xor ebp, ebp
and dword [esp + 0x38], ebp
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], 0xff
jmp 0x101f02bf
cmp dword [esp + 0x28], 0xf3
je 0x101eff7a
mov edx, dword [ebx + 4]
test edx, edx
je 0x101f02d8
cmp edx, 1
jne 0x101f0305
mov eax, dword [ebx]
cmp dword [eax + 8], 0
je 0x101f0305
cmp dword [eax], 0
jne 0x101f0305
movzx eax, word [esp + 0x18]
mov ecx, dword [esp + 0x98]
mov dword [ebx + 0x10], eax
movzx eax, word [esp + 0x14]
sub ecx, eax
mov eax, dword [esp + 0x34]
mov dword [ebx + 0xc], ecx
mov dword [esp + 0x5c], eax
test eax, eax
je 0x101f0305
mov dword [esp + 0x3c], 1
test esi, esi
je 0x101f031e
test edx, edx
jne 0x101f031e
xor eax, eax
cmp dword [esp + 0x28], 0x104
sete al
mov dword [esp + 0x60], eax
cmp edx, 1
jne 0x101f0344
cmp dword [esp + 0x9c], 3
jne 0x101f0344
cmp dword [0x1023ebb0], 0x2e
jne 0x101f0344
mov eax, dword [ebx]
cmp dword [eax + 4], edx
jne 0x101f0344
mov dword [ebx + 0x1c], 0xf
mov ecx, ebx
call fcn.101f0a63
test eax, eax
je 0x101f0280
cmp dword [eax], 0
mov ecx, ebx
jne 0x101f0501
call fcn.101f0ac6
mov dword [esp + 0x20], eax
test eax, eax
js 0x101efd79
cmp dword [ebx + 4], 1
jne 0x101f03c8
call fcn.101f0c7c
cmp dword [0x1023ebb0], 0x9c
mov dword [esp + 0x38], eax
jne 0x101f03c8
call fcn.101c9199
mov esi, eax
mov eax, dword [0x1023ebb0]
mov dword [esp + 0x28], eax
call fcn.101c9169
mov dword [esp + 0x48], 1
test esi, esi
je 0x101f03c4
mov eax, dword [0x1023ebb0]
sub eax, 0xff
je 0x101f04f5
sub eax, 0x10
je 0x101f04f5
mov esi, dword [esp + 0x24]
cmp word [0x1023ebb4], 0
je 0x101eff3a
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x101eff3a
test esi, esi
je 0x101eff69
xor ebp, ebp
inc ebp
jmp 0x101eff3a
mov esi, dword [esp + 0x24]
mov eax, dword [0x1023ebb0]
cmp eax, edi
jne 0x101f04a5
test esi, esi
je 0x101f0490
cmp dword [esp + 0x9c], 4
je 0x101f0243
mov dword [esp + 0x28], eax
call fcn.101c9169
call fcn.101f0c7c
test eax, eax
jne 0x101f050b
mov eax, dword [0x1023ebb0]
cmp eax, 0xf9
je 0x101f044c
cmp byte [eax + 0x1023d108], 0
jne 0x101f044c
xor ebp, ebp
inc ebp
jmp 0x101eff45
mov ecx, ebx
call fcn.101f09fd
and dword [esp + 0x3c], 0
xor esi, esi
and dword [esp + 0x38], esi
mov ecx, ebx
mov dword [esp + 0x1c], 1
mov dword [esp + 0x2c], 0xff
mov dword [esp + 0x24], esi
call fcn.101f0be0
mov dword [esp + 0x20], eax
test eax, eax
js 0x101efd79
xor edi, edi
mov dword [esp + 0x40], edi
jmp 0x101eff45
cmp dword [ebx + 4], 0
jne 0x101eff7a
xor edi, edi
mov dword [esp + 0x40], edi
jmp 0x101f00cc
test esi, esi
je 0x101eff7a
xor ebp, ebp
inc ebp
jmp 0x101f00cc
test esi, esi
je 0x101eff7a
mov ecx, ebx
call fcn.101f09fd
and dword [esp + 0x3c], 0
xor eax, eax
inc eax
or dword [ebx + 0x24], eax
xor ebp, ebp
and dword [esp + 0x38], ebp
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], 0xff
jmp 0x101f00cc
mov ecx, ebx
call fcn.101f09fd
xor ebp, ebp
inc ebp
jmp 0x101eff7e
mov ecx, ebx
call fcn.101f09fd
jmp 0x101efd72
call fcn.101f09fd
jmp 0x101eff7a
mov ecx, ebx
call fcn.101f09fd
jmp 0x101efd79
mov esi, dword [esp + 0x24]
jmp 0x101eff7e
mov ecx, dword [esp + 0x9c]
cmp ecx, 4
jne 0x101f0030
xor edx, edx
inc edx
mov dword [esp + 0x30], edx
jmp 0x101f0000
xor edx, edx
inc edx
jmp 0x101f055d
sub eax, ebp
je 0x101f0243
sub eax, 0x44
jne 0x101f055d
mov eax, dword [0x1023ebb8]
cmp di, word [eax + 0x10]
je 0x101f0243
test ecx, ecx
js 0x101f0998
cmp ecx, 1
jle 0x101f089e
push 2
pop esi
cmp ecx, esi
je 0x101f0889
cmp ecx, 3
je 0x101f0642
cmp ecx, 4
jne 0x101f0998
test edx, edx
jne 0x101f0243
cmp dword [0x1023ebb0], 9
jne 0x101f0615
call fcn.101c9169
cmp dword [0x1023ebb0], 0xf3
jne 0x101f0998
call fcn.101c9169
mov eax, dword [0x1023ebb0]
sub eax, 0x10
je 0x101f05eb
sub eax, esi
je 0x101f05eb
sub eax, 0x10
je 0x101f05d4
sub eax, 0x6a
jne 0x101f0998
jmp 0x101f0600
cmp dword [esp + 0x28], 0xf
jne 0x101f0998
mov dword [ebx + 0x1c], 0x11
jmp 0x101f0998
call fcn.101c9169
cmp dword [0x1023ebb0], 0x8c
jne 0x101f0998
xor eax, eax
cmp dword [esp + 0x28], 0xf
sete al
add eax, 0x10
mov dword [ebx + 0x1c], eax
jmp 0x101f0998
cmp dword [ebx + 0x1c], 0
jne 0x101f0998
mov eax, dword [0x1023ebb0]
cmp eax, 0x10f
je 0x101f0636
cmp eax, 0xff
jne 0x101f0998
mov dword [ebx + 0x1c], 1
jmp 0x101f0998
cmp dword [ebx + 0x1c], 0xf
jne 0x101f065d
cmp dword [ebx + 4], esi
jne 0x101f0659
mov eax, dword [ebx]
cmp dword [eax + 0x1c], 0
je 0x101f0998
and dword [ebx + 0x1c], 0
mov eax, dword [0x1023ebb0]
mov ecx, eax
sub ecx, 0x10d
je 0x101f0876
sub ecx, esi
je 0x101f0636
cmp byte [eax + 0x1023d108], 0
je 0x101f0998
cmp dword [esp + 0x34], 0
je 0x101f06a8
cmp eax, 0x104
jne 0x101f069b
mov dword [ebx + 0x1c], 3
jmp 0x101f0998
call fcn.101c9199
test eax, eax
je 0x101f0998
mov eax, dword [0x1023ebb0]
cmp eax, 0x61
jg 0x101f07c9
je 0x101f07bd
cmp eax, 3
je 0x101f07b1
cmp eax, 9
je 0x101f071e
cmp eax, 0x43
jle 0x101f0998
cmp eax, 0x45
jle 0x101f06ef
cmp eax, 0x5c
jle 0x101f0998
cmp eax, 0x5e
jg 0x101f0998
jmp 0x101f07e5
cmp word [0x1023ebb4], 0
je 0x101f0998
call fcn.101c9169
cmp dword [0x1023ebb0], 0xf5
jne 0x101f0998
mov dword [ebx + 0x1c], 5
jmp 0x101f0998
mov dword [ebx + 0x1c], 4
xor esi, esi
call fcn.101c9169
mov eax, dword [0x1023ebb0]
sub eax, 0x30
je 0x101f0787
sub eax, 0x5a
je 0x101f07a8
sub eax, 0x37
je 0x101f079c
sub eax, 0x32
je 0x101f0758
sub eax, 0xc
je 0x101f0998
sub eax, 0x10
jne 0x101f078a
jmp 0x101f0998
mov eax, dword [0x1023ebb8]
mov ecx, 0x82
cmp cx, word [eax + 0x10]
jne 0x101f078a
call fcn.101c9169
mov eax, dword [0x1023ebb0]
xor esi, esi
inc esi
sub eax, 0xff
je 0x101f0781
sub eax, 0x10
jne 0x101f078a
and dword [ebx + 0x1c], 0
jmp 0x101f078a
mov dword [ebx + 0x1c], ebp
cmp dword [ebx + 0x1c], 4
jne 0x101f0998
test esi, esi
je 0x101f0727
xor esi, esi
jmp 0x101f072c
mov dword [ebx + 0x1c], 0xa
jmp 0x101f0998
and dword [ebx + 0x1c], 0
jmp 0x101f0998
mov dword [ebx + 0x1c], 0xe
jmp 0x101f0998
mov dword [ebx + 0x1c], 9
jmp 0x101f0998
sub eax, 0x6b
je 0x101f07fd
sub eax, 0x18
je 0x101f07f1
sub eax, 0x14
je 0x101f0981
sub eax, 6
jne 0x101f0998
mov dword [ebx + 0x1c], 6
jmp 0x101f0998
mov dword [ebx + 0x1c], 8
jmp 0x101f0998
xor esi, esi
inc esi
xor ebp, ebp
call fcn.101c9169
call fcn.101c9199
test ebp, ebp
je 0x101f0830
test eax, eax
je 0x101f0832
cmp dword [0x1023ebb0], 0xb6
jne 0x101f0998
mov dword [ebx + 0x1c], 7
jmp 0x101f0998
mov ebp, eax
mov ecx, dword [0x1023ebb0]
cmp ecx, 0x7b
je 0x101f086c
cmp ecx, 0xf2
jle 0x101f086a
cmp ecx, 0xf4
jle 0x101f086c
cmp ecx, 0xf9
je 0x101f085f
cmp ecx, 0xfd
jne 0x101f086a
jmp 0x101f086c
xor edi, edi
call fcn.101f0c03
test eax, eax
jne 0x101f086c
xor esi, esi
test esi, esi
je 0x101f0998
jmp 0x101f0802
cmp dword [esp + 0x34], 0
je 0x101f0998
mov dword [ebx + 0x1c], esi
jmp 0x101f0998
cmp dword [0x1023ebb0], 0x97
je 0x101f0981
jmp 0x101f0998
cmp dword [esp + 0xa0], 0
jne 0x101f0947
mov eax, dword [esp + 0x2c]
cmp eax, dword [ebx + 0x18]
jne 0x101f0975
and dword [ebx + 0x18], 0
xor ebp, ebp
test dword [ebx + 4], 0xfffffffe
jbe 0x101f0919
xor ecx, ecx
mov dword [esp + 0x60], ecx
mov eax, dword [ebx]
lea edx, [eax + ecx]
push 6
pop ecx
mov esi, edx
lea edi, [esp + 0x74]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebx + 4]
sub esi, ebp
dec esi
imul esi, esi, 0x18
add esi, eax
push 6
pop ecx
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebx + 4]
sub edi, ebp
dec edi
imul edi, edi, 0x18
add edi, dword [ebx]
push 6
pop ecx
lea esi, [esp + 0x74]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x60]
mov eax, dword [ebx + 4]
inc ebp
add ecx, 0x18
shr eax, 1
mov dword [esp + 0x60], ecx
cmp ebp, eax
jb 0x101f08ce
xor edx, edx
cmp dword [ebx + 4], edx
jbe 0x101f024a
xor esi, esi
mov ecx, dword [ebx]
add ecx, esi
mov edi, dword [ecx + 0xc]
test edi, edi
je 0x101f0938
sub dword [ecx + 8], edi
and dword [ecx + 0xc], 0
inc edx
add esi, 0x18
cmp edx, dword [ebx + 4]
jae 0x101f024a
jmp 0x101f0926
cmp dword [esp + 0x5c], 0
jne 0x101f0991
cmp dword [esp + 0x60], 0
jne 0x101f0991
cmp esi, dword [esp + 0xa0]
jne 0x101f0975
mov eax, dword [esp + 0x2c]
cmp eax, dword [ebx + 0x18]
jne 0x101f0975
cmp dword [ebx + 4], 0
je 0x101f0975
mov eax, dword [ebx]
cmp dword [eax + 8], 0
jne 0x101f0991
cmp dword [0x1023ebb0], 0x97
jne 0x101f098a
mov dword [ebx + 0x1c], 0xd
jmp 0x101f0998
cmp dword [esp + 0x38], 0
je 0x101f0998
mov ecx, ebx
call fcn.101f09fd
cmp dword [esp + 0x3c], 0
jne 0x101f08b9
test byte [ebx + 0x24], 1
jne 0x101f08b9
inc dword [ebx + 0x18]
jmp 0x101f08bd
mov dword [ebx + 4], 1
cmp dword [ebx + 4], 0
je 0x101efd79
cmp dword [ebx + 0x1c], 0xd
mov esi, dword [esp + 0x20]
jne 0x101efd7d
mov eax, dword [ebx]
or dword [eax + 0x10], 8
jmp 0x101efd7d
mov esi, eax
call fcn.101c967e
test esi, esi
je 0x101f09f1
mov ecx, ebx
call fcn.101f0a39
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret 0x14