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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x3c]
cmp eax, dword [ecx + 8]
jbe 0x4e7068
sub esp, 0xbc
movzx eax, word [esp + 0xc8]
test ax, 2
jne 0x4e6fd3
lea ecx, [0x6e23a0]
mov dword [esp], ecx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x7c], eax
movzx ecx, word [esp + 0xc8]
mov word [eax], cx
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0x1c], ecx
mov edx, dword [0x884700]
lea ebx, [eax + 0x18]
test edx, edx
jne 0x4e6fa9
mov edx, dword [esp + 0xc0]
mov dword [eax + 0x18], edx
mov ebx, edx
mov ebp, ecx
xor esi, esi
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x4c], ecx
mov ecx, ebp
mov dword [esp + 0x74], edx
mov dword [esp + 0x50], ecx
xchg esi, eax
mov byte [esp + 0x3b], al
xchg esi, eax
mov dword [esp + 0x70], edi
test ecx, ecx
je 0x4e6e7a
movzx ebx, byte [edx]
cmp bl, 0x2e
ja 0x4e652b
cmp bl, 0x28
ja 0x4e6395
cmp bl, 0x24
jne 0x4e6263
movzx ebx, word [eax]
test bx, 0x10
je 0x4e6254
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.004e2fb0
mov eax, dword [esp + 8]
movzx ecx, word [eax + 2]
or ecx, 0x100
mov word [eax + 2], cx
mov ecx, dword [esp + 0x50]
lea edx, [ecx - 2]
sar edx, 0x1f
xor edx, 0xffffffff
and edx, 1
mov ebx, dword [esp + 0x74]
add edx, ebx
dec ecx
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
mov esi, eax
mov edi, ebp
mov dword [esp + 0x4c], ebx
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xc4]
jmp 0x4e61b8
mov dword [esp], eax
mov byte [esp + 4], 8
call fcn.004e2fb0
jmp 0x4e6215
cmp bl, 0x28
jne 0x4e6323
movzx ebx, word [eax]
test bx, 0x40
je 0x4e6284
cmp ecx, 2
jl 0x4e6284
movzx ebx, byte [edx + 1]
cmp bl, 0x3f
je 0x4e62cd
mov ebx, dword [eax + 0x14]
inc ebx
mov dword [eax + 0x14], ebx
mov dword [esp], eax
mov byte [esp + 4], pe_nt_image_headers32
call fcn.004e2fb0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x7c]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x30], edx
mov eax, dword [esp + 0x50]
lea edx, [eax - 2]
sar edx, 0x1f
xor edx, 0xffffffff
and edx, 1
mov ebx, dword [esp + 0x74]
add edx, ebx
dec eax
mov ecx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4e6235
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004e72a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test eax, eax
jne 0x4e6303
mov ecx, edx
movzx eax, byte [esp + 0x3b]
xor ebp, ebp
mov edx, ebx
xor ebx, ebx
jmp 0x4e6235
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ecx
add esp, 0xbc
ret
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004eb250
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x3c], ebx
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x58], ebp
test edx, edx
jne 0x4e6375
mov ecx, dword [esp + 0x7c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004e2f60
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4e6235
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], ecx
add esp, 0xbc
ret
cmp bl, 0x29
je 0x4e64d0
lea ebp, [ebx - 0x2a]
xchg ebp, eax
cmp al, 1
xchg ebp, eax
jbe 0x4e6406
cmp bl, 0x2e
jne 0x4e63fa
movzx ebx, word [eax]
test bx, 8
je 0x4e63eb
mov dword [esp], eax
mov byte [esp + 4], 6
call fcn.004e2fb0
mov eax, dword [esp + 0x50]
lea ecx, [eax - 2]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 1
mov edx, dword [esp + 0x74]
add edx, ecx
lea ecx, [eax - 1]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4e6235
mov dword [esp], eax
mov byte [esp + 4], 5
call fcn.004e2fb0
jmp 0x4e63c4
mov ebp, dword [esp + 0xc4]
jmp 0x4e6323
cmp bl, 0x2a
jne 0x4e64ab
mov ebx, 0xe
mov byte [esp + 0x3b], bl
mov dword [esp], eax
mov byte [esp + 4], bl
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
lea ebp, [ecx - 2]
sar ebp, 0x1f
xor ebp, 0xffffffff
and ebp, 1
add ebp, edx
mov dword [esp + 0x18], ebp
lea ebp, [ecx - 1]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], edi
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x24], ebp
call fcn.004e30a0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test edx, edx
jne 0x4e648b
mov edx, eax
mov ecx, ebx
movzx eax, byte [esp + 0x3b]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x74]
jmp 0x4e6235
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], ecx
add esp, 0xbc
ret
cmp bl, 0x2b
jne 0x4e64ba
mov ebx, 0xf
jmp 0x4e6414
cmp bl, 0x3f
jne 0x4e64c9
mov ebx, 0x10
jmp 0x4e6414
mov ebx, esi
jmp 0x4e6414
mov dword [esp], eax
call fcn.004e8170
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
jne 0x4e650b
mov eax, dword [esp + 0x50]
lea ecx, [eax - 2]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 1
mov edx, dword [esp + 0x74]
add edx, ecx
lea ecx, [eax - 1]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4e6235
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0xbc
ret
cmp bl, 0x5c
ja 0x4e6bf7
cmp bl, 0x3f
je 0x4e6406
cmp bl, 0x5b
je 0x4e6ba1
cmp bl, 0x5c
jne 0x4e6323
movzx ebx, word [eax]
test bx, 0x40
je 0x4e6586
cmp ecx, 2
jl 0x4e6586
movzx ebx, byte [edx + 1]
cmp bl, 0x43
ja 0x4e69f8
cmp bl, 0x41
je 0x4e69c4
cmp bl, 0x42
je 0x4e6990
cmp bl, 0x43
je 0x4e68f2
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x68], ebx
test ebx, ebx
je 0x4e68d5
mov edi, ebp
mov ebp, dword [0x884700]
mov edx, dword [ebx + 0x10]
lea ecx, [eax + 0x10]
test ebp, ebp
jne 0x4e68b0
mov dword [eax + 0x10], edx
lea edi, [esp + 0x80]
mov edx, eax
xor eax, eax
call fcn.0044a371
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x4e6884
mov edi, ebx
lea esi, [esp + 0x80]
call fcn.0044a7fa
mov dword [esp + 0x6c], ebx
mov byte [ebx], 4
movzx ecx, word [edx]
mov word [ebx + 2], cx
mov ecx, dword [esp + 0x50]
cmp ecx, 2
jl 0x4e687b
mov ebp, dword [esp + 0x74]
movzx esi, byte [ebp + 1]
xchg esi, eax
cmp al, 0x70
xchg esi, eax
je 0x4e6795
xchg esi, eax
cmp al, 0x50
xchg esi, eax
je 0x4e6795
lea esi, [ebx + 0x20]
test byte [esi], al
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 2
call fcn.004e8ba0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x64], edx
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
test ebp, ebp
je 0x4e66b6
mov esi, dword [esp + 0x6c]
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ebx
mov eax, dword [0x884700]
lea ebx, [esi + 0x14]
test eax, eax
jne 0x4e669c
mov dword [esi + 0x14], ebp
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.004e2840
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x48]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4e6235
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0040d5a0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x6c]
jmp 0x4e6676
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0x10]
mov edx, dword [0x884700]
mov ebx, dword [esp + 0x6c]
lea ebp, [ebx + 0x10]
test edx, edx
jne 0x4e677c
mov dword [ebx + 0x10], ecx
mov ecx, dword [0x884700]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x4e6767
mov dword [eax + 0x10], ebx
mov dword [esp], eax
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
call fcn.004e8420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x58], ebx
mov ebp, dword [esp + 0x1c]
test ecx, ecx
jne 0x4e6747
mov ecx, dword [esp + 0x7c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004e2f60
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4e6235
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], ebp
add esp, 0xbc
ret
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.0040d5a0
mov eax, dword [esp + 0x7c]
jmp 0x4e66e9
mov dword [esp], ebp
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x6c]
jmp 0x4e66d5
lea esi, [ebx + 0x20]
test byte [esi], al
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 2
call fcn.004e9170
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x40], edx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x5c], ebx
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
test ecx, ecx
jne 0x4e685b
test esi, esi
je 0x4e6844
mov eax, dword [esp + 0x6c]
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], ebp
mov ecx, dword [0x884700]
lea ebp, [eax + 0x14]
test ecx, ecx
jne 0x4e682a
mov dword [eax + 0x14], esi
mov ecx, dword [esp + 0x7c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004e2840
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x40]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4e6235
mov dword [esp], ebp
mov dword [esp + 4], esi
call fcn.0040d5a0
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x5c]
jmp 0x4e6804
xor eax, eax
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x74]
jmp 0x4e6613
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0xbc
ret
mov ebp, dword [esp + 0x74]
jmp 0x4e6613
lea ecx, [0x6eb8c0]
mov dword [esp], ecx
mov dword [esp + 4], ebx
lea ecx, [esp + 0x80]
mov dword [esp + 8], ecx
call fcn.0040d6b0
xor eax, eax
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x68]
jmp 0x4e65da
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.0040d5a0
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x68]
movzx esi, byte [esp + 0x3b]
mov edi, dword [esp + 0xc4]
jmp 0x4e65ae
lea ebx, [0x6eb8c0]
mov dword [esp], ebx
call fcn.0040cd70
mov ebx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0x7c]
jmp 0x4e65da
lea eax, [0x6ca800]
mov dword [esp], eax
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
mov dword [eax + 4], 0x17
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x4e6978
lea ecx, [0x70c09b]
mov dword [eax], ecx
mov dword [eax + 0xc], 2
mov ecx, dword [0x884700]
lea edx, [eax + 8]
test ecx, ecx
jne 0x4e6962
mov ecx, dword [esp + 0x74]
mov dword [eax + 8], ecx
mov dword [esp + 0xcc], 0
lea ecx, [0x8483c0]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0xbc
ret
mov dword [esp], edx
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x78]
jmp 0x4e693c
mov dword [esp], eax
lea ecx, [0x70c09b]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x78]
jmp 0x4e6921
mov dword [esp], eax
mov byte [esp + 4], 0xc
call fcn.004e2fb0
mov eax, dword [esp + 0x50]
lea ecx, [eax - 3]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 2
mov edx, dword [esp + 0x74]
add edx, ecx
lea ecx, [eax - 2]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4e6235
mov dword [esp], eax
mov byte [esp + 4], 9
call fcn.004e2fb0
mov eax, dword [esp + 0x50]
lea ecx, [eax - 3]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 2
mov edx, dword [esp + 0x74]
add edx, ecx
lea ecx, [eax - 2]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4e6235
cmp bl, 0x51
je 0x4e6a74
cmp bl, 0x62
je 0x4e6a40
cmp bl, 0x7a
je 0x4e6a0c
jmp 0x4e6586
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.004e2fb0
mov eax, dword [esp + 0x50]
lea ecx, [eax - 3]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 2
mov edx, dword [esp + 0x74]
add edx, ecx
lea ecx, [eax - 2]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4e6235
mov dword [esp], eax
mov byte [esp + 4], 0xb
call fcn.004e2fb0
mov eax, dword [esp + 0x50]
lea ecx, [eax - 3]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 2
mov edx, dword [esp + 0x74]
add edx, ecx
lea ecx, [eax - 2]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4e6235
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ebx, [0x7040fd]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 2
call fcn.004bb560
mov eax, dword [esp + 0x10]
test eax, eax
jge 0x4e6b49
mov ecx, dword [esp + 0x50]
lea edx, [ecx - 3]
sar edx, 0x1f
xor edx, 0xffffffff
and edx, 2
mov ebx, dword [esp + 0x74]
add edx, ebx
add ecx, 0xfffffffe
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x58], eax
mov dword [esp + 0x3c], ebx
test ecx, ecx
je 0x4e6b17
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004eb250
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x60], ebx
mov ebp, dword [esp + 8]
test ecx, ecx
jne 0x4e6b29
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.004e2f60
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x60]
test ecx, ecx
jne 0x4e6ac7
mov edx, eax
mov ecx, ebx
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4e6235
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0xbc
ret
cmp eax, 2
jb 0x4e6b9a
mov ecx, dword [esp + 0x50]
cmp eax, ecx
ja 0x4e6b9a
lea edx, [eax - 3]
sar edx, 0x1f
xor edx, 0xffffffff
and edx, 2
mov ebx, dword [esp + 0x74]
add edx, ebx
lea ebp, [eax - 2]
mov esi, edx
lea edx, [eax + 2]
cmp edx, ecx
ja 0x4e6b93
sub ecx, edx
mov eax, ebp
lea ebp, [ecx - 1]
sar ebp, 0x1f
xor ebp, 0xffffffff
and edx, ebp
lea ebp, [edx + ebx]
mov ebx, ecx
mov ecx, eax
mov edx, esi
mov eax, ebp
jmp 0x4e6abb
call fcn.004246e0
ud2
call fcn.004246e0
ud2
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004e9950
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test ecx, ecx
jne 0x4e6bd7
mov ecx, edx
movzx eax, byte [esp + 0x3b]
xor ebp, ebp
mov edx, ebx
xor ebx, ebx
jmp 0x4e6235
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0xbc
ret
cmp bl, 0x5e
jne 0x4e6c49
movzx ebx, word [eax]
test bx, 0x10
je 0x4e6c3a
mov dword [esp], eax
mov byte [esp + 4], 9
call fcn.004e2fb0
mov eax, dword [esp + 0x50]
lea ecx, [eax - 2]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 1
mov edx, dword [esp + 0x74]
add edx, ecx
lea ecx, [eax - 1]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4e6235
mov dword [esp], eax
mov byte [esp + 4], 7
call fcn.004e2fb0
jmp 0x4e6c13
cmp bl, 0x7b
je 0x4e6cb3
cmp bl, 0x7c
je 0x4e6c58
jmp 0x4e6323
mov dword [esp], eax
call fcn.004e7b30
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
jne 0x4e6c93
mov eax, dword [esp + 0x50]
lea ecx, [eax - 2]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 1
mov edx, dword [esp + 0x74]
add edx, ecx
lea ecx, [eax - 1]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4e6235
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0xbc
ret
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004e7080
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
movzx edx, byte [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
test dl, dl
jne 0x4e6d17
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], 0x7b
call fcn.004e2f60
mov eax, dword [esp + 0x50]
lea ecx, [eax - 2]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 1
mov edx, dword [esp + 0x74]
add edx, ecx
lea ecx, [eax - 1]
mov eax, 0x11
xor ebx, ebx
xor ebp, ebp
jmp 0x4e6235
cmp eax, 0x3e8
ja 0x4e6dc1
cmp ecx, 0x3e8
jg 0x4e6dc1
test ecx, ecx
jl 0x4e6d3a
cmp eax, ecx
jg 0x4e6dc1
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov byte [esp + 4], 0x11
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x24], ebx
call fcn.004e30a0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x34]
test eax, eax
jne 0x4e6da1
mov eax, 0x11
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x74]
jmp 0x4e6235
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ebx
add esp, 0xbc
ret
mov eax, dword [esp + 0x50]
mov ecx, eax
sub eax, ebx
mov dword [esp + 0x54], eax
cmp eax, ecx
ja 0x4e6e73
lea ecx, [0x6ca800]
mov dword [esp], ecx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
mov dword [eax + 4], 0x14
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x4e6e5b
lea ecx, [0x70a8d8]
mov dword [eax], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x884700]
lea edx, [eax + 8]
test ecx, ecx
jne 0x4e6e45
mov ecx, dword [esp + 0x74]
mov dword [eax + 8], ecx
mov dword [esp + 0xcc], 0
lea ecx, [0x8483c0]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0xbc
ret
mov dword [esp], edx
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x78]
jmp 0x4e6e1f
mov dword [esp], eax
lea ecx, [0x70a8d8]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x78]
jmp 0x4e6e04
call fcn.004246e0
ud2
mov dword [esp], eax
call fcn.004e37e0
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.004e7e50
movzx eax, byte [esp + 4]
test al, al
je 0x4e6fa0
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
dec ecx
cmp ecx, edx
ja 0x4e6f99
mov dword [eax + 8], ecx
mov dword [esp], eax
call fcn.004e39a0
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
cmp ecx, 1
je 0x4e6f73
lea eax, [0x6ca800]
mov dword [esp], eax
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
mov dword [eax + 4], 0x11
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x4e6f5b
lea ecx, [0x709324]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x884700]
lea edx, [eax + 8]
test ecx, ecx
jne 0x4e6f42
mov ecx, dword [esp + 0xc0]
mov dword [eax + 8], ecx
mov dword [esp + 0xcc], 0
lea ecx, [0x8483c0]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0xbc
ret
mov dword [esp], edx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x78]
jmp 0x4e6f1c
mov dword [esp], eax
lea ecx, [0x709324]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x78]
jmp 0x4e6efb
mov eax, dword [eax]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
add esp, 0xbc
ret
call fcn.004246e0
ud2
mov eax, dword [esp + 0x7c]
jmp 0x4e6eb1
mov dword [esp], ebx
mov edx, dword [esp + 0xc0]
mov dword [esp + 4], edx
call fcn.0040d5a0
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xc0]
jmp 0x4e61a8
mov ecx, dword [esp + 0xc0]
mov dword [esp], ecx
mov edx, dword [esp + 0xc4]
mov dword [esp + 4], edx
call fcn.004eb120
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x4e7019
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0xbc
ret
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
movzx eax, word [esp + 0xc8]
mov word [esp + 8], ax
call fcn.004e5f50
mov eax, dword [esp + 0xc]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
add esp, 0xbc
ret
call fcn.004486b0
jmp fcn.004e6130