Function at 0x4d77e0
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 0x4d7842
mov edx, dword [esi]
push edi
mov ecx, esi
call dword [edx + 0x10]
cmp al, 8
je 0x4d7842
dec edi
cmp edi, 1
ja 0x4d7830
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.0049e3b0
mov ecx, dword [esp + 0x10]
and eax, 0xff
mov dword [esp + 0x28], eax
cmp dword [ecx + 0xfb0], ebx
je 0x4d78f6
mov edx, dword [ecx]
push eax
call dword [edx]
test al, al
je 0x4d78f6
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.0049e3b0
mov ecx, dword [esp + 0x28]
and eax, 0xff
or ecx, eax
mov dword [esp + 0x28], ecx
push esi
lea ecx, [esp + 0x14]
call fcn.0049e140
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jae 0x4d83fc
mov edx, dword [esp + 0x20]
mov ebp, 0xe
xor edi, edi
jmp 0x4d7921
mov eax, dword [esp + 0x18]
mov cl, byte [esp + 0x1c]
test cl, cl
je 0x4d7943
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 0x4d7955
cmp eax, 9
je 0x4d7955
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 0x4d7b6f
cmp esi, 6
jl 0x4d797c
cmp esi, 0x48
jle 0x4d7d74
cmp esi, edi
jne 0x4d79a5
mov eax, dword [esp + 0x28]
push eax
call fcn.004f9d54
add esp, 4
cmp eax, 0x63
je 0x4d79b8
mov ecx, dword [esp + 0x28]
cmp ecx, 0x2a
je 0x4d79b8
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
jmp 0x4d79ad
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
cmp ecx, 0x21
jne 0x4d7a48
jmp 0x4d79c0
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 0x4d834a
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
cmp ecx, eax
jae 0x4d83b8
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 0x4d7a13
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.0049e140
mov al, byte [esp + 0x1d]
mov edx, dword [esp + 0x20]
test al, al
je 0x4d79e1
xor edi, edi
jmp 0x4d834a
cmp esi, 0x48
jle 0x4d7adb
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 0x4d834a
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jae 0x4d83b8
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 0x4d7aa6
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.0049e140
mov al, byte [esp + 0x1d]
mov edx, dword [esp + 0x20]
test al, al
je 0x4d7a72
xor edi, edi
jmp 0x4d834a
cmp esi, 5
jge 0x4d7b1b
cmp ecx, 0x30
jb 0x4d7b04
cmp ecx, 0x39
ja 0x4d7b04
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 0x4d834a
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 0x4d834a
jne 0x4d834a
cmp ecx, 0x20
je 0x4d7b04
cmp ecx, 9
jb 0x4d7b30
cmp ecx, 0xd
jbe 0x4d7b04
cmp ecx, 0x30
je 0x4d7b04
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.0049e250
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 0x4d834a
cmp dword [esp + 0x28], 0x26
jne 0x4d7d74
mov al, 0x20
mov esi, 1
movsx ecx, al
cmp ecx, 0x20
je 0x4d7b93
cmp ecx, 9
je 0x4d7b93
cmp ecx, 0xb
jne 0x4d7bb5
cmp esi, 0x84
jge 0x4d7bb5
mov ecx, dword [esp + 0x18]
push 0x20
lea edx, [esi + ecx]
mov ecx, dword [esp + 0x14]
push edx
call fcn.0049e3b0
mov edx, dword [esp + 0x20]
inc esi
jmp 0x4d7b81
cmp al, 0x21
jne 0x4d7c2b
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 0x4d804d
lea ecx, [esp + 0x10]
call fcn.0049e250
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 0x4d7c12
cmp eax, 0xa
jne 0x4d7fa5
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 0x4d7fad
cmp al, 0xd
je 0x4d7c37
cmp al, 0xa
jne 0x4d7d74
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.0049e250
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 0x4d7c85
cmp ecx, 9
jb 0x4d7cca
cmp ecx, 0xd
ja 0x4d7cca
cmp eax, dword [esp + 0x14]
jae 0x4d7cca
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 0x4d7ca9
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.0049e140
jmp 0x4d7c6e
cmp ecx, 0x26
jne 0x4d7d59
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 0x4d7d3e
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 0x4d7d19
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.0049e140
mov eax, dword [esp + 0x18]
jmp 0x4d7d59
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 0x4d7d85
mov ecx, dword [esp + 0x10]
push edx
mov eax, dword [ecx]
jmp 0x4d7c19
cmp edx, 2
jne 0x4d7de3
mov esi, dword [esp + 0x28]
cmp esi, 0x80
mov eax, esi
jge 0x4d7dc3
push eax
call fcn.004f79d4
add esp, 4
test eax, eax
jne 0x4d7fa1
cmp esi, 0x5f
je 0x4d7fa1
mov edx, dword [esp + 0x20]
cmp esi, 0x25
je 0x4d7fa5
mov eax, dword [esp + 0x28]
cmp eax, 0x27
je 0x4d7fa5
cmp eax, 0x22
je 0x4d7fa5
cmp eax, 0x2e
je 0x4d7fa5
jmp 0x4d7c12
cmp edx, 7
jne 0x4d7e9b
mov esi, dword [esp + 0x28]
cmp esi, 0x80
jge 0x4d7e1c
mov eax, esi
push eax
call fcn.004f79d4
add esp, 4
test eax, eax
jne 0x4d7e11
cmp esi, 0x5f
je 0x4d7e11
cmp esi, 0x25
jne 0x4d7e1c
cmp dword [esp + 0x28], 0x25
jne 0x4d7fa1
lea ecx, [esp + 0x48]
push 0x64
push ecx
lea ecx, [esp + 0x18]
call fcn.004e03f0
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x48]
push edx
call fcn.004db760
test al, al
je 0x4d7e48
mov dword [esp + 0x20], 8
jmp 0x4d7e7e
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x48]
push eax
call fcn.004db760
test al, al
je 0x4d7e64
mov dword [esp + 0x20], 9
jmp 0x4d7e7e
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x48]
call fcn.004db760
test al, al
je 0x4d7e7e
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 0x4d7fad
cmp edx, 1
je 0x4d7c00
cmp edx, 0xb
je 0x4d7c00
cmp edx, 3
jne 0x4d7f45
mov ecx, dword [esp + 0x28]
mov eax, 0x27
cmp ecx, eax
mov dword [esp + 0x34], edx
jne 0x4d7f19
cmp dword [esp + 0x2c], eax
jne 0x4d7eef
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cmp eax, ecx
jae 0x4d7fe5
mov dl, byte [esp + 0x1d]
mov ecx, 0x27
mov byte [esp + 0x1c], dl
jmp 0x4d7f86
lea ecx, [esp + 0x10]
call fcn.0049e250
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 0x4d7fad
mov al, byte [esp + 0x1d]
test al, al
je 0x4d834a
lea ecx, [esp + 0x10]
mov dword [esp + 0x20], 5
call fcn.0049e250
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov eax, dword [ecx]
jmp 0x4d7c18
cmp edx, 4
jne 0x4d8023
mov al, byte [esp + 0x1d]
mov dword [esp + 0x34], edx
test al, al
jne 0x4d7f25
cmp dword [esp + 0x28], 0x22
jne 0x4d834a
cmp dword [esp + 0x2c], 0x22
jne 0x4d7ffc
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jae 0x4d7fe5
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.0049e140
mov edx, dword [esp + 0x20]
cmp edx, edi
jne 0x4d834a
mov eax, dword [esp + 0x28]
cmp eax, 0x21
jne 0x4d80b8
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 0x4d80a5
dec edx
push edx
call dword [eax + 0x48]
mov edx, 0xb
mov dword [esp + 0x20], edx
jmp 0x4d834a
mov eax, 0x20
mov byte [esp + 0x1d], 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
jmp 0x4d834a
lea ecx, [esp + 0x10]
call fcn.0049e250
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 0x4d7fad
cmp edx, 0xc
jne 0x4d8049
cmp dword [esp + 0x28], 0x2e
jne 0x4d834a
lea ecx, [esp + 0x10]
call fcn.0049e250
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
push eax
mov edx, dword [ecx]
jmp 0x4d8093
cmp edx, ebp
jne 0x4d8056
mov ecx, dword [esp + 0x10]
push ebp
mov edx, dword [ecx]
jmp 0x4d8093
cmp edx, 0xd
jne 0x4d7fa5
mov eax, dword [esp + 0x28]
cmp eax, 0x30
jb 0x4d808b
cmp eax, 0x39
ja 0x4d808b
test bl, bl
je 0x4d8080
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x38]
sub ecx, esi
cmp ecx, 4
ja 0x4d808b
cmp dword [esp + 0x30], 5
jle 0x4d834a
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 0x4d7fad
dec edx
push edx
call dword [eax + 0x48]
mov edx, 1
mov dword [esp + 0x20], edx
jmp 0x4d834a
test bl, bl
jne 0x4d80eb
cmp eax, 0x30
jb 0x4d80f9
cmp eax, 0x39
ja 0x4d80eb
cmp dword [esp + 0x30], 1
jne 0x4d80eb
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 0x4d834a
cmp eax, 0x30
jb 0x4d80f9
cmp eax, 0x39
jbe 0x4d839d
cmp eax, 0x2e
jne 0x4d8110
mov ecx, dword [esp + 0x2c]
cmp ecx, 0x30
jb 0x4d8110
cmp ecx, 0x39
jbe 0x4d839d
push eax
call fcn.004f9d54
add esp, 4
cmp eax, 0x62
je 0x4d8142
mov eax, dword [esp + 0x28]
push eax
call fcn.004f9d54
add esp, 4
cmp eax, 0x6f
je 0x4d8142
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004f9d54
add esp, 4
cmp eax, 0x7a
jne 0x4d815a
mov ecx, dword [esp + 0x2c]
cmp ecx, 0x22
je 0x4d82da
cmp ecx, 0x27
je 0x4d82da
jmp 0x4d815e
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
cmp eax, 0x2e
jne 0x4d819a
push ecx
call fcn.004f78b1
add esp, 4
test eax, eax
je 0x4d8196
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 0x4d834a
mov eax, dword [esp + 0x28]
cmp eax, 0x80
jge 0x4d81d4
push eax
call fcn.004f79d4
add esp, 4
test eax, eax
je 0x4d81d0
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 0x4d834a
mov eax, dword [esp + 0x28]
cmp eax, 0x22
jne 0x4d81fb
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 0x4d834a
cmp eax, 0x27
jne 0x4d8222
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 0x4d834a
mov bl, byte [esp + 0x28]
cmp bl, 0x80
jae 0x4d823f
movsx ecx, bl
push ecx
call fcn.004f79d4
add esp, 4
test eax, eax
jne 0x4d8346
cmp bl, 0x25
je 0x4d82bb
cmp bl, 0x5e
je 0x4d82bb
cmp bl, 0x26
je 0x4d82bb
cmp bl, 0x2a
je 0x4d82bb
cmp bl, 0x28
je 0x4d82bb
cmp bl, 0x29
je 0x4d82bb
cmp bl, 0x2d
je 0x4d82bb
cmp bl, 0x2b
je 0x4d82bb
cmp bl, 0x3d
je 0x4d82bb
cmp bl, 0x7c
je 0x4d82bb
cmp bl, 0x7b
je 0x4d82bb
cmp bl, 0x7d
je 0x4d82bb
cmp bl, 0x5b
je 0x4d82bb
cmp bl, 0x5d
je 0x4d82bb
cmp bl, 0x3a
je 0x4d82bb
cmp bl, 0x3b
je 0x4d82bb
cmp bl, 0x3c
je 0x4d82bb
cmp bl, 0x3e
je 0x4d82bb
cmp bl, 0x2c
je 0x4d82bb
cmp bl, 0x2f
je 0x4d82bb
cmp bl, 0x3f
je 0x4d82bb
cmp bl, 0x21
je 0x4d82bb
cmp bl, 0x2e
je 0x4d82bb
cmp bl, 0x7e
jne 0x4d8346
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 0x4d834a
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 0x4d7fe5
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 0x4d8328
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.0049e140
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jae 0x4d83b8
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 0x4d8378
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.0049e140
mov edx, dword [esp + 0x20]
jmp 0x4d83d5
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 0x4d834a
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 0x4d791d
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 0x4d83e5