Function at 0x10118b80
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x9c
mov eax, dword [esp + 0xac]
push ebx
push ebp
push esi
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov esi, dword [esp + 0xbc]
push edi
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x44], eax
xor eax, eax
cmp edi, 1
mov dword [esp + 0x40], edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea ebp, [edi + ecx]
jbe 0x10118be2
mov edx, dword [esi]
push edi
mov ecx, esi
call dword [edx + 0x10]
cmp al, 8
je 0x10118be2
dec edi
cmp edi, 1
ja 0x10118bd0
mov ebx, dword [esi]
push edi
mov ecx, esi
call dword [ebx + 0x14]
push eax
mov ecx, esi
call dword [ebx + 0x18]
mov edi, eax
mov eax, dword [esi]
lea ecx, [edi - 1]
push ecx
mov ecx, esi
call dword [eax + 0x10]
movsx eax, al
and eax, 0x1f
xor ebx, ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], edi
mov byte [esp + 0x1c], 1
mov byte [esp + 0x1d], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov edx, dword [esi]
push 0x1f
push edi
mov ecx, esi
call dword [edx + 0x38]
mov ecx, dword [esp + 0x10]
push edi
mov eax, dword [ecx]
call dword [eax + 0x44]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
push 0x20
push eax
mov esi, eax
call fcn.101197b0
mov ecx, dword [esp + 0x10]
and eax, 0xff
mov dword [esp + 0x28], eax
cmp dword [ecx + 0xfb0], ebx
je 0x10118c96
mov edx, dword [ecx]
push eax
call dword [edx]
test al, al
je 0x10118c96
mov ebp, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
inc esi
push 0x20
shl ebp, 8
push esi
mov dword [esp + 0x30], ebp
call fcn.101197b0
mov ecx, dword [esp + 0x28]
and eax, 0xff
or ecx, eax
mov dword [esp + 0x28], ecx
push esi
lea ecx, [esp + 0x14]
call fcn.100efda0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jae 0x1011979c
mov edx, dword [esp + 0x20]
mov ebp, 0xe
xor edi, edi
jmp 0x10118cc1
mov eax, dword [esp + 0x18]
mov cl, byte [esp + 0x1c]
test cl, cl
je 0x10118ce3
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x38], eax
dec eax
push edx
mov esi, dword [ecx]
push eax
mov dword [esp + 0x38], edi
call dword [esi + 0x48]
xor edx, edx
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x28]
cmp eax, 0x20
je 0x10118cf5
cmp eax, 9
je 0x10118cf5
inc dword [esp + 0x30]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
mov bl, byte [esp + 0xc4]
sub esi, ecx
test bl, bl
je 0x10118f0f
cmp esi, 6
jl 0x10118d1c
cmp esi, 0x48
jle 0x10119114
cmp esi, edi
jne 0x10118d45
mov eax, dword [esp + 0x28]
push eax
call fcn.1014f49d
add esp, 4
cmp eax, 0x63
je 0x10118d58
mov ecx, dword [esp + 0x28]
cmp ecx, 0x2a
je 0x10118d58
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
jmp 0x10118d4d
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
cmp ecx, 0x21
jne 0x10118de8
jmp 0x10118d60
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
dec eax
push edx
push eax
mov esi, dword [ecx]
call dword [esi + 0x48]
mov al, byte [esp + 0x1d]
mov edx, 1
test al, al
mov dword [esp + 0x20], edx
jne 0x101196ea
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
cmp ecx, eax
jae 0x10119758
mov eax, dword [esp + 0x28]
mov edx, ecx
inc edx
cmp eax, 0x100
mov byte [esp + 0x1c], 0
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], edx
jl 0x10118db3
mov eax, edx
inc eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x18]
xor edx, edx
cmp eax, 0x100
setge dl
add edx, esi
lea ecx, [esp + 0x10]
push edx
mov dword [esp + 0x2c], eax
call fcn.100efda0
mov al, byte [esp + 0x1d]
mov edx, dword [esp + 0x20]
test al, al
je 0x10118d81
xor edi, edi
jmp 0x101196ea
cmp esi, 0x48
jle 0x10118e7b
mov ecx, dword [esp + 0x10]
dec eax
push edx
push eax
mov esi, dword [ecx]
call dword [esi + 0x48]
mov al, byte [esp + 0x1d]
mov edx, 1
test al, al
mov dword [esp + 0x20], edx
jne 0x101196ea
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jae 0x10119758
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
inc edx
cmp eax, 0x100
mov byte [esp + 0x1c], 0
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], edx
jl 0x10118e46
mov eax, edx
inc eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x18]
xor ecx, ecx
cmp eax, 0x100
setge cl
add ecx, esi
mov dword [esp + 0x28], eax
push ecx
lea ecx, [esp + 0x14]
call fcn.100efda0
mov al, byte [esp + 0x1d]
mov edx, dword [esp + 0x20]
test al, al
je 0x10118e12
xor edi, edi
jmp 0x101196ea
cmp esi, 5
jge 0x10118ebb
cmp ecx, 0x30
jb 0x10118ea4
cmp ecx, 0x39
ja 0x10118ea4
mov ecx, dword [esp + 0x10]
dec eax
push edx
push eax
mov esi, dword [ecx]
call dword [esi + 0x48]
mov edx, 0xd
mov dword [esp + 0x20], edx
jmp 0x101196ea
mov ecx, dword [esp + 0x10]
dec eax
push edx
push eax
mov esi, dword [ecx]
call dword [esi + 0x48]
xor edx, edx
mov dword [esp + 0x20], edx
jmp 0x101196ea
jne 0x101196ea
cmp ecx, 0x20
je 0x10118ea4
cmp ecx, 9
jb 0x10118ed0
cmp ecx, 0xd
jbe 0x10118ea4
cmp ecx, 0x30
je 0x10118ea4
mov ecx, dword [esp + 0x10]
dec eax
push edx
push eax
mov esi, dword [ecx]
call dword [esi + 0x48]
lea ecx, [esp + 0x10]
mov dword [esp + 0x20], ebp
call fcn.101176a0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x20], edx
jmp 0x101196ea
cmp dword [esp + 0x28], 0x26
jne 0x10119114
mov al, 0x20
mov esi, 1
movsx ecx, al
cmp ecx, 0x20
je 0x10118f33
cmp ecx, 9
je 0x10118f33
cmp ecx, 0xb
jne 0x10118f55
cmp esi, 0x84
jge 0x10118f55
mov ecx, dword [esp + 0x18]
push 0x20
lea edx, [esi + ecx]
mov ecx, dword [esp + 0x14]
push edx
call fcn.101197b0
mov edx, dword [esp + 0x20]
inc esi
jmp 0x10118f21
cmp al, 0x21
jne 0x10118fcb
mov ecx, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx]
dec edx
push edx
call dword [eax + 0x48]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x20], ebp
cmp eax, 0x21
jne 0x101193ed
lea ecx, [esp + 0x10]
call fcn.101176a0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx]
dec edx
push edx
call dword [eax + 0x48]
mov edx, 1
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x28]
cmp eax, 0xd
je 0x10118fb2
cmp eax, 0xa
jne 0x10119345
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
push edx
mov edx, dword [esp + 0x1c]
dec edx
push edx
call dword [eax + 0x48]
mov dword [esp + 0x20], edi
jmp 0x1011934d
cmp al, 0xd
je 0x10118fd7
cmp al, 0xa
jne 0x10119114
mov ecx, dword [esp + 0x10]
mov esi, edx
push edx
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx]
dec edx
push edx
call dword [eax + 0x48]
lea ecx, [esp + 0x10]
mov dword [esp + 0x20], ebp
call fcn.101176a0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx]
dec edx
push edx
call dword [eax + 0x48]
mov dword [esp + 0x20], edi
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
cmp ecx, 0x20
je 0x10119025
cmp ecx, 9
jb 0x1011906a
cmp ecx, 0xd
ja 0x1011906a
cmp eax, dword [esp + 0x14]
jae 0x1011906a
mov dl, byte [esp + 0x1d]
inc eax
cmp ecx, 0x100
mov byte [esp + 0x1c], dl
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], eax
jl 0x10119049
inc eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x2c]
xor edx, edx
cmp ecx, 0x100
mov dword [esp + 0x28], ecx
setge dl
add edx, eax
lea ecx, [esp + 0x10]
push edx
call fcn.100efda0
jmp 0x1011900e
cmp ecx, 0x26
jne 0x101190f9
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x20]
dec eax
push ebp
mov edx, dword [ecx]
push eax
call dword [edx + 0x48]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
mov dword [esp + 0x20], 0xe
jae 0x101190de
mov cl, byte [esp + 0x1d]
inc eax
mov byte [esp + 0x1c], cl
mov ecx, dword [esp + 0x28]
cmp ecx, 0x100
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], eax
jl 0x101190b9
inc eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x2c]
xor edx, edx
cmp ecx, 0x100
mov dword [esp + 0x28], ecx
setge dl
add edx, eax
lea ecx, [esp + 0x10]
push edx
call fcn.100efda0
mov eax, dword [esp + 0x18]
jmp 0x101190f9
mov ecx, 0x20
mov byte [esp + 0x1c], 0
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x1d], 1
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x20]
dec eax
push ebp
mov edx, dword [ecx]
push eax
call dword [edx + 0x48]
mov edx, esi
mov ebp, 0xe
mov dword [esp + 0x20], edx
cmp edx, 6
jne 0x10119125
mov ecx, dword [esp + 0x10]
push edx
mov eax, dword [ecx]
jmp 0x10118fb9
cmp edx, 2
jne 0x10119183
mov esi, dword [esp + 0x28]
cmp esi, 0x80
mov eax, esi
jge 0x10119163
push eax
call fcn.1014d5cc
add esp, 4
test eax, eax
jne 0x10119341
cmp esi, 0x5f
je 0x10119341
mov edx, dword [esp + 0x20]
cmp esi, 0x25
je 0x10119345
mov eax, dword [esp + 0x28]
cmp eax, 0x27
je 0x10119345
cmp eax, 0x22
je 0x10119345
cmp eax, 0x2e
je 0x10119345
jmp 0x10118fb2
cmp edx, 7
jne 0x1011923b
mov esi, dword [esp + 0x28]
cmp esi, 0x80
jge 0x101191bc
mov eax, esi
push eax
call fcn.1014d5cc
add esp, 4
test eax, eax
jne 0x101191b1
cmp esi, 0x5f
je 0x101191b1
cmp esi, 0x25
jne 0x101191bc
cmp dword [esp + 0x28], 0x25
jne 0x10119341
lea ecx, [esp + 0x48]
push 0x64
push ecx
lea ecx, [esp + 0x18]
call fcn.10121800
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x48]
push edx
call fcn.1011cb50
test al, al
je 0x101191e8
mov dword [esp + 0x20], 8
jmp 0x1011921e
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x48]
push eax
call fcn.1011cb50
test al, al
je 0x10119204
mov dword [esp + 0x20], 9
jmp 0x1011921e
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x48]
call fcn.1011cb50
test al, al
je 0x1011921e
mov dword [esp + 0x20], 0xa
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov dword [esp + 0x20], edi
jmp 0x1011934d
cmp edx, 1
je 0x10118fa0
cmp edx, 0xb
je 0x10118fa0
cmp edx, 3
jne 0x101192e5
mov ecx, dword [esp + 0x28]
mov eax, 0x27
cmp ecx, eax
mov dword [esp + 0x34], edx
jne 0x101192b9
cmp dword [esp + 0x2c], eax
jne 0x1011928f
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cmp eax, ecx
jae 0x10119385
mov dl, byte [esp + 0x1d]
mov ecx, 0x27
mov byte [esp + 0x1c], dl
jmp 0x10119326
lea ecx, [esp + 0x10]
call fcn.101176a0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx]
dec edx
push edx
call dword [eax + 0x48]
mov dword [esp + 0x20], edi
mov dword [esp + 0x34], edi
jmp 0x1011934d
mov al, byte [esp + 0x1d]
test al, al
je 0x101196ea
lea ecx, [esp + 0x10]
mov dword [esp + 0x20], 5
call fcn.101176a0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov eax, dword [ecx]
jmp 0x10118fb8
cmp edx, 4
jne 0x101193c3
mov al, byte [esp + 0x1d]
mov dword [esp + 0x34], edx
test al, al
jne 0x101192c5
cmp dword [esp + 0x28], 0x22
jne 0x101196ea
cmp dword [esp + 0x2c], 0x22
jne 0x1011939c
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jae 0x10119385
mov byte [esp + 0x1c], 0
mov ecx, 0x22
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], ecx
inc eax
mov dword [esp + 0x28], ecx
push eax
lea ecx, [esp + 0x14]
mov dword [esp + 0x1c], eax
call fcn.100efda0
mov edx, dword [esp + 0x20]
cmp edx, edi
jne 0x101196ea
mov eax, dword [esp + 0x28]
cmp eax, 0x21
jne 0x10119458
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
cmp eax, 0x24
mov eax, dword [ecx]
push edi
jne 0x10119445
dec edx
push edx
call dword [eax + 0x48]
mov edx, 0xb
mov dword [esp + 0x20], edx
jmp 0x101196ea
mov eax, 0x20
mov byte [esp + 0x1d], 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
jmp 0x101196ea
lea ecx, [esp + 0x10]
call fcn.101176a0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov dword [esp + 0x20], edi
mov dword [esp + 0x34], edi
jmp 0x1011934d
cmp edx, 0xc
jne 0x101193e9
cmp dword [esp + 0x28], 0x2e
jne 0x101196ea
lea ecx, [esp + 0x10]
call fcn.101176a0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
push eax
mov edx, dword [ecx]
jmp 0x10119433
cmp edx, ebp
jne 0x101193f6
mov ecx, dword [esp + 0x10]
push ebp
mov edx, dword [ecx]
jmp 0x10119433
cmp edx, 0xd
jne 0x10119345
mov eax, dword [esp + 0x28]
cmp eax, 0x30
jb 0x1011942b
cmp eax, 0x39
ja 0x1011942b
test bl, bl
je 0x10119420
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x38]
sub ecx, esi
cmp ecx, 4
ja 0x1011942b
cmp dword [esp + 0x30], 5
jle 0x101196ea
mov ecx, dword [esp + 0x10]
push 0xd
mov edx, dword [ecx]
mov eax, dword [esp + 0x1c]
dec eax
push eax
call dword [edx + 0x48]
mov dword [esp + 0x20], edi
jmp 0x1011934d
dec edx
push edx
call dword [eax + 0x48]
mov edx, 1
mov dword [esp + 0x20], edx
jmp 0x101196ea
test bl, bl
jne 0x1011948b
cmp eax, 0x30
jb 0x10119499
cmp eax, 0x39
ja 0x1011948b
cmp dword [esp + 0x30], 1
jne 0x1011948b
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
dec edx
push edi
mov eax, dword [ecx]
push edx
call dword [eax + 0x48]
mov edx, 0xd
mov dword [esp + 0x20], edx
jmp 0x101196ea
cmp eax, 0x30
jb 0x10119499
cmp eax, 0x39
jbe 0x1011973d
cmp eax, 0x2e
jne 0x101194b0
mov ecx, dword [esp + 0x2c]
cmp ecx, 0x30
jb 0x101194b0
cmp ecx, 0x39
jbe 0x1011973d
push eax
call fcn.1014f49d
add esp, 4
cmp eax, 0x62
je 0x101194e2
mov eax, dword [esp + 0x28]
push eax
call fcn.1014f49d
add esp, 4
cmp eax, 0x6f
je 0x101194e2
mov ecx, dword [esp + 0x28]
push ecx
call fcn.1014f49d
add esp, 4
cmp eax, 0x7a
jne 0x101194fa
mov ecx, dword [esp + 0x2c]
cmp ecx, 0x22
je 0x1011967a
cmp ecx, 0x27
je 0x1011967a
jmp 0x101194fe
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
cmp eax, 0x2e
jne 0x1011953a
push ecx
call fcn.1014d4a9
add esp, 4
test eax, eax
je 0x10119536
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov edx, 0xc
mov dword [esp + 0x20], edx
jmp 0x101196ea
mov eax, dword [esp + 0x28]
cmp eax, 0x80
jge 0x10119574
push eax
call fcn.1014d5cc
add esp, 4
test eax, eax
je 0x10119570
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov edx, 7
mov dword [esp + 0x20], edx
jmp 0x101196ea
mov eax, dword [esp + 0x28]
cmp eax, 0x22
jne 0x1011959b
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov edx, 4
mov dword [esp + 0x20], edx
jmp 0x101196ea
cmp eax, 0x27
jne 0x101195c2
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov edx, 3
mov dword [esp + 0x20], edx
jmp 0x101196ea
mov bl, byte [esp + 0x28]
cmp bl, 0x80
jae 0x101195df
movsx ecx, bl
push ecx
call fcn.1014d5cc
add esp, 4
test eax, eax
jne 0x101196e6
cmp bl, 0x25
je 0x1011965b
cmp bl, 0x5e
je 0x1011965b
cmp bl, 0x26
je 0x1011965b
cmp bl, 0x2a
je 0x1011965b
cmp bl, 0x28
je 0x1011965b
cmp bl, 0x29
je 0x1011965b
cmp bl, 0x2d
je 0x1011965b
cmp bl, 0x2b
je 0x1011965b
cmp bl, 0x3d
je 0x1011965b
cmp bl, 0x7c
je 0x1011965b
cmp bl, 0x7b
je 0x1011965b
cmp bl, 0x7d
je 0x1011965b
cmp bl, 0x5b
je 0x1011965b
cmp bl, 0x5d
je 0x1011965b
cmp bl, 0x3a
je 0x1011965b
cmp bl, 0x3b
je 0x1011965b
cmp bl, 0x3c
je 0x1011965b
cmp bl, 0x3e
je 0x1011965b
cmp bl, 0x2c
je 0x1011965b
cmp bl, 0x2f
je 0x1011965b
cmp bl, 0x3f
je 0x1011965b
cmp bl, 0x21
je 0x1011965b
cmp bl, 0x2e
je 0x1011965b
cmp bl, 0x7e
jne 0x101196e6
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov edx, 6
mov dword [esp + 0x20], edx
jmp 0x101196ea
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov edx, 2
cmp ecx, eax
mov dword [esp + 0x20], edx
jae 0x10119385
mov eax, dword [esp + 0x28]
mov dl, byte [esp + 0x1d]
inc ecx
cmp eax, 0x100
mov byte [esp + 0x1c], dl
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ecx
jl 0x101196c8
inc ecx
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x2c]
xor edx, edx
cmp eax, 0x100
mov dword [esp + 0x28], eax
setge dl
add edx, ecx
lea ecx, [esp + 0x10]
push edx
call fcn.100efda0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jae 0x10119758
mov cl, byte [esp + 0x1d]
inc eax
mov byte [esp + 0x1c], cl
mov ecx, dword [esp + 0x28]
cmp ecx, 0x100
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], eax
jl 0x10119718
inc eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x2c]
xor edx, edx
cmp ecx, 0x100
mov dword [esp + 0x28], ecx
setge dl
add edx, eax
lea ecx, [esp + 0x10]
push edx
call fcn.100efda0
mov edx, dword [esp + 0x20]
jmp 0x10119775
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
dec edx
push edi
mov eax, dword [ecx]
push edx
call dword [eax + 0x48]
mov edx, 2
mov dword [esp + 0x20], edx
jmp 0x101196ea
mov eax, 0x20
mov byte [esp + 0x1c], 0
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov byte [esp + 0x1d], 1
xor edi, edi
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jb 0x10118cbd
mov ecx, dword [esp + 0x10]
dec eax
push edx
push eax
mov esi, dword [ecx]
call dword [esi + 0x48]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov edx, dword [esp + 0x20]
jmp 0x10119785