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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4a75f1
sub esp, 0x80
movzx eax, word [esp + 0x8c]
test ax, 2
jne 0x4a7540
lea eax, [0x4e32a0]
mov dword [esp], eax
call fcn.004098b0
mov eax, dword [esp + 4]
movzx ecx, word [esp + 0x8c]
mov word [eax], cx
mov ecx, dword [esp + 0x88]
mov dword [eax + 0x1c], ecx
mov edx, dword [0x5c2560]
test edx, edx
jne 0x4a7521
mov edx, dword [esp + 0x84]
mov dword [eax + 0x18], edx
mov dword [esp + 0x70], eax
mov ebx, ecx
mov ebp, edx
xor esi, esi
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x74], ecx
mov ecx, ebx
jmp 0x4a67cb
mov esi, dword [esp + 0x70]
mov esi, eax
mov edi, ebx
mov dword [esp + 0x74], ebp
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x84]
mov eax, ecx
mov ecx, edx
mov edx, eax
mov eax, dword [esp + 0x70]
test ecx, ecx
je 0x4a7410
mov dword [esp + 0x50], ecx
mov dword [esp + 0x78], edx
xchg esi, eax
mov byte [esp + 0x3b], al
xchg esi, eax
movzx ebp, byte [edx]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
ja 0x4a6b33
xchg ebp, eax
cmp al, 0x28
xchg ebp, eax
ja 0x4a698b
xchg ebp, eax
cmp al, 0x24
xchg ebp, eax
jne 0x4a685c
movzx ebp, word [eax]
test bp, 0x10
je 0x4a684d
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.004a3d90
mov eax, dword [esp + 8]
movzx ecx, word [eax + 2]
or ecx, 0x100
mov word [eax + 2], cx
mov ecx, dword [esp + 0x50]
dec ecx
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
mov ebx, dword [esp + 0x78]
add ecx, ebx
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a67a3
mov dword [esp], eax
mov byte [esp + 4], 8
call fcn.004a3d90
jmp 0x4a682a
xchg ebp, eax
cmp al, 0x28
xchg ebp, eax
jne 0x4a6919
movzx ebp, word [eax]
test bp, 0x40
je 0x4a687c
cmp ecx, 2
jl 0x4a687c
cmp byte [edx + 1], 0x3f
je 0x4a68c3
inc dword [eax + 0x14]
mov dword [esp], eax
mov byte [esp + 4], pe_nt_image_headers32
call fcn.004a3d90
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x30], edx
mov eax, dword [esp + 0x50]
lea edx, [eax - 1]
mov eax, edx
neg edx
sar edx, 0x1f
and edx, 1
mov ebx, dword [esp + 0x78]
add edx, ebx
mov ecx, edx
xor ebx, ebx
xor ebp, ebp
mov edx, eax
movzx eax, byte [esp + 0x3b]
jmp 0x4a67a3
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004a7810
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
test edx, edx
jne 0x4a68f9
mov edx, eax
mov ecx, ebx
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a67a3
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], ecx
add esp, 0x80
ret
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004ab450
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x18]
test ecx, ecx
jne 0x4a696b
mov dword [esp + 0x3c], edx
mov dword [esp + 0x58], ebx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004a3d40
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x58]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a67a3
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], ebp
add esp, 0x80
ret
xchg ebp, eax
cmp al, 0x29
xchg ebp, eax
je 0x4a6ad5
lea ebx, [ebp - 0x2a]
cmp bl, 1
jbe 0x4a6a01
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x4a69f5
movzx ebx, word [eax]
test bx, 8
je 0x4a69e6
mov dword [esp], eax
mov byte [esp + 4], 6
call fcn.004a3d90
mov esi, dword [esp + 0x50]
lea edx, [esi - 1]
mov esi, edx
neg edx
sar edx, 0x1f
and edx, 1
mov eax, esi
mov esi, dword [esp + 0x78]
lea ecx, [esi + edx]
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a67a3
mov dword [esp], eax
mov byte [esp + 4], 5
call fcn.004a3d90
jmp 0x4a69bc
mov ebx, dword [esp + 0x88]
jmp 0x4a6919
xchg ebp, eax
cmp al, 0x2a
xchg ebp, eax
jne 0x4a6aac
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 - 1]
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
add ebp, edx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], esi
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], edi
call fcn.004a3e40
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x34]
test eax, eax
jne 0x4a6a8c
movzx eax, byte [esp + 0x3b]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x78]
mov esi, edx
mov edx, ecx
mov ecx, esi
jmp 0x4a67a3
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ebx
add esp, 0x80
ret
xchg ebp, eax
cmp al, 0x2b
xchg ebp, eax
jne 0x4a6abd
mov ebx, 0xf
jmp 0x4a6a11
xchg ebp, eax
cmp al, 0x3f
xchg ebp, eax
jne 0x4a6ace
mov ebx, 0x10
jmp 0x4a6a11
mov ebx, esi
jmp 0x4a6a11
mov dword [esp], eax
call fcn.004a8630
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
jne 0x4a6b13
mov esi, dword [esp + 0x50]
lea edx, [esi - 1]
mov esi, edx
neg edx
sar edx, 0x1f
and edx, 1
mov eax, esi
mov esi, dword [esp + 0x78]
lea ecx, [esi + edx]
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a67a3
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x80
ret
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
ja 0x4a7175
xchg ebp, eax
cmp al, 0x3f
xchg ebp, eax
je 0x4a6a01
xchg ebp, eax
cmp al, 0x5b
xchg ebp, eax
je 0x4a7121
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x4a6919
movzx ebp, word [eax]
test bp, 0x40
je 0x4a6b9e
cmp ecx, 2
jl 0x4a6b9e
movzx ebp, byte [edx + 1]
xchg ebp, eax
cmp al, 0x43
xchg ebp, eax
ja 0x4a6f84
xchg ebp, eax
cmp al, 0x41
xchg ebp, eax
je 0x4a6f50
xchg ebp, eax
cmp al, 0x42
xchg ebp, eax
je 0x4a6f1c
xchg ebp, eax
cmp al, 0x43
xchg ebp, eax
je 0x4a6e90
nop
mov edi, dword [eax + 0x10]
lea ebp, [eax + 0x10]
mov dword [esp + 0x7c], ebp
test edi, edi
je 0x4a6e6b
mov dword [esp + 0x6c], edi
mov ebx, dword [0x5c2560]
mov esi, dword [edi + 0x10]
test ebx, ebx
jne 0x4a6e39
mov dword [eax + 0x10], esi
mov ebx, eax
xor eax, eax
call fcn.0044aab1
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x68], ecx
mov byte [ecx], 4
movzx esi, word [ebx]
mov word [ecx + 2], si
mov esi, dword [esp + 0x50]
cmp esi, 2
jl 0x4a6c0b
movzx edi, byte [edx + 1]
xchg edi, eax
cmp al, 0x70
xchg edi, eax
jne 0x4a6e28
mov edi, 1
xchg edi, eax
test al, al
xchg edi, eax
jne 0x4a6d55
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
lea eax, [ecx + 0x20]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 2
call fcn.004a8fb0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
test ebp, ebp
je 0x4a6c9b
mov dword [esp + 0x48], eax
mov dword [esp + 0x60], ecx
mov esi, dword [esp + 0x68]
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], edx
mov edx, dword [0x5c2560]
test edx, edx
jne 0x4a6c8f
mov dword [esi + 0x14], ebp
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.004a3680
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x60]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a67a3
lea edi, [esi + 0x14]
mov eax, ebp
call fcn.0044a9c0
jmp 0x4a6c69
nop
mov ecx, dword [0x5c2560]
mov edx, dword [esp + 0x70]
mov eax, dword [edx + 0x10]
test ecx, ecx
jne 0x4a6d39
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x10], eax
mov dword [edx + 0x10], ecx
mov dword [esp], edx
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
call fcn.004a8860
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0xc]
test eax, eax
jne 0x4a6d19
mov dword [esp + 0x58], edx
mov dword [esp + 0x3c], ebx
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.004a3d40
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x58]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a67a3
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
add esp, 0x80
ret
mov ecx, dword [esp + 0x68]
lea edi, [ecx + 0x10]
call fcn.0044a9c0
mov edi, dword [esp + 0x7c]
mov eax, ecx
call fcn.0044a9c0
jmp 0x4a6cbb
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
lea eax, [ecx + 0x20]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 2
call fcn.004a9550
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
test ebp, ebp
jne 0x4a6e08
test edx, edx
je 0x4a6df3
mov dword [esp + 0x40], esi
mov dword [esp + 0x5c], edi
mov ebx, dword [esp + 0x68]
mov dword [ebx + 0x18], ecx
mov dword [ebx + 0x1c], eax
mov ecx, dword [0x5c2560]
test ecx, ecx
jne 0x4a6de5
mov dword [ebx + 0x14], edx
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.004a3680
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x5c]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a67a3
lea ecx, [ebx + 0x14]
mov edi, ecx
mov eax, edx
call fcn.0044a9c0
jmp 0x4a6dbf
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x50]
jmp 0x4a6c0b
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], ebx
add esp, 0x80
ret
xchg edi, eax
cmp al, 0x50
xchg edi, eax
xchg edi, ebx
sete bl
xchg edi, ebx
jmp 0x4a6c01
mov eax, edi
mov edi, ebp
mov ecx, eax
mov eax, esi
call fcn.0044a9c0
lea edx, [0x4e55e0]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.0040e200
xor eax, eax
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x7c]
jmp 0x4a6bd2
lea eax, [0x4e55e0]
mov dword [esp], eax
call fcn.004098b0
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x7c]
jmp 0x4a6bd6
lea eax, [0x4dab80]
mov dword [esp], eax
call fcn.004098b0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x17
mov eax, dword [0x5c2560]
test eax, eax
jne 0x4a6f0f
lea ecx, [0x4f2ede]
mov dword [edi], ecx
mov dword [edi + 0xc], 2
mov ecx, dword [0x5c2560]
test ecx, ecx
jne 0x4a6ef9
mov eax, dword [esp + 0x78]
mov dword [edi + 8], eax
mov dword [esp + 0x90], 0
lea eax, [0x50eb80]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edi
add esp, 0x80
ret
lea ecx, [edi + 8]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x78]
call fcn.0044a9c0
mov edi, edx
jmp 0x4a6ed3
lea eax, [0x4f2ede]
call fcn.0044a9c0
jmp 0x4a6ebb
mov dword [esp], eax
mov byte [esp + 4], 0xc
call fcn.004a3d90
mov eax, dword [esp + 0x50]
lea edx, [eax - 2]
mov eax, edx
neg edx
sar edx, 0x1f
and edx, 2
mov ecx, dword [esp + 0x78]
add ecx, edx
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a67a3
mov dword [esp], eax
mov byte [esp + 4], 9
call fcn.004a3d90
mov eax, dword [esp + 0x50]
lea edx, [eax - 2]
mov eax, edx
neg edx
sar edx, 0x1f
and edx, 2
mov ecx, dword [esp + 0x78]
add ecx, edx
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a67a3
xchg ebp, eax
cmp al, 0x51
xchg ebp, eax
je 0x4a7005
xchg ebp, eax
cmp al, 0x62
xchg ebp, eax
je 0x4a6fd1
xchg ebp, eax
cmp al, 0x7a
xchg ebp, eax
jne 0x4a6b9e
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.004a3d90
mov eax, dword [esp + 0x50]
lea edx, [eax - 2]
mov eax, edx
neg edx
sar edx, 0x1f
and edx, 2
mov ecx, dword [esp + 0x78]
add ecx, edx
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a67a3
mov dword [esp], eax
mov byte [esp + 4], 0xb
call fcn.004a3d90
mov eax, dword [esp + 0x50]
lea edx, [eax - 2]
mov eax, edx
neg edx
sar edx, 0x1f
and edx, 2
mov ecx, dword [esp + 0x78]
add ecx, edx
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a67a3
mov dword [esp], edx
mov dword [esp + 4], ecx
lea eax, [0x4ee86a]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
call fcn.004954c0
mov eax, dword [esp + 0x10]
test eax, eax
jge 0x4a70d6
mov ecx, dword [esp + 0x50]
add ecx, 0xfffffffe
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
mov ebx, dword [esp + 0x78]
add ecx, ebx
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x58], ebx
jmp 0x4a707c
mov dword [esp + 0x44], ebx
mov dword [esp + 0x64], ebp
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004a3d40
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x58]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x64]
test edx, edx
je 0x4a70c4
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.004ab450
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
test edx, edx
je 0x4a7054
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], ecx
add esp, 0x80
ret
mov edx, eax
mov ecx, ebx
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a67a3
cmp eax, 2
jb 0x4a75e3
mov ecx, dword [esp + 0x50]
cmp eax, ecx
ja 0x4a75e3
lea edx, [eax - 2]
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, 2
mov ebp, dword [esp + 0x78]
add edx, ebp
lea esi, [eax + 2]
cmp esi, ecx
ja 0x4a75dc
sub ecx, esi
mov eax, ecx
neg ecx
sar ecx, 0x1f
and ecx, esi
add ebp, ecx
mov ecx, edx
mov edx, ebx
mov ebx, ebp
jmp 0x4a704a
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004a9ce0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
test ebx, ebx
jne 0x4a7155
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a67a3
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], edx
add esp, 0x80
ret
xchg ebp, eax
cmp al, 0x5e
xchg ebp, eax
jne 0x4a71cc
movzx ebp, word [eax]
test bp, 0x10
je 0x4a71bd
mov dword [esp], eax
mov byte [esp + 4], 9
call fcn.004a3d90
mov esi, dword [esp + 0x50]
lea edx, [esi - 1]
mov esi, edx
neg edx
sar edx, 0x1f
and edx, 1
mov eax, esi
mov esi, dword [esp + 0x78]
lea ecx, [esi + edx]
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a67a3
mov dword [esp], eax
mov byte [esp + 4], 7
call fcn.004a3d90
jmp 0x4a7193
xchg ebp, eax
cmp al, 0x7b
xchg ebp, eax
je 0x4a723c
xchg ebp, eax
cmp al, 0x7c
xchg ebp, eax
jne 0x4a6919
mov dword [esp], eax
call fcn.004a8060
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
jne 0x4a721c
mov esi, dword [esp + 0x50]
lea edx, [esi - 1]
mov esi, edx
neg edx
sar edx, 0x1f
and edx, 1
mov eax, esi
mov esi, dword [esp + 0x78]
lea ecx, [esi + edx]
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a67a3
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x80
ret
mov dword [esp + 0x4c], edi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004a7600
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 0x4a72a4
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], 0x7b
call fcn.004a3d40
mov eax, dword [esp + 0x50]
lea edx, [eax - 1]
mov eax, edx
neg edx
sar edx, 0x1f
and edx, 1
mov ecx, dword [esp + 0x78]
add ecx, edx
mov edx, eax
mov eax, 0x11
xor ebx, ebx
xor ebp, ebp
jmp 0x4a67a3
test eax, eax
jl 0x4a7361
cmp eax, 0x3e8
jg 0x4a7361
cmp ecx, 0x3e8
jg 0x4a7361
test ecx, ecx
jl 0x4a7409
cmp eax, ecx
setg dl
test dl, dl
jne 0x4a7361
mov edx, dword [esp + 0x70]
mov dword [esp], edx
mov byte [esp + 4], 0x11
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x78]
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 + 0x74]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x24], ebx
call fcn.004a3e40
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
test ecx, ecx
jne 0x4a7341
mov ecx, ebx
mov eax, 0x11
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x78]
jmp 0x4a67a3
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x80
ret
mov eax, dword [esp + 0x50]
mov ecx, eax
sub eax, ebx
test eax, eax
jl 0x4a75ea
cmp eax, ecx
ja 0x4a75ea
mov dword [esp + 0x54], eax
lea eax, [0x4dab80]
mov dword [esp], eax
call fcn.004098b0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x14
mov eax, dword [0x5c2560]
test eax, eax
jne 0x4a73fc
lea ecx, [0x4f1f92]
mov dword [edi], ecx
mov ecx, dword [esp + 0x54]
mov dword [edi + 0xc], ecx
mov ecx, dword [0x5c2560]
test ecx, ecx
jne 0x4a73e6
mov eax, dword [esp + 0x78]
mov dword [edi + 8], eax
mov dword [esp + 0x90], 0
lea eax, [0x50eb80]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edi
add esp, 0x80
ret
lea ecx, [edi + 8]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x78]
call fcn.0044a9c0
mov edi, edx
jmp 0x4a73c0
lea eax, [0x4f1f92]
call fcn.0044a9c0
jmp 0x4a73a8
xor edx, edx
jmp 0x4a72d0
mov dword [esp], eax
call fcn.004a4440
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.004a8360
movzx eax, byte [esp + 4]
test al, al
je 0x4a7518
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 8]
dec ecx
test ecx, ecx
jl 0x4a75d5
mov dword [eax + 8], ecx
mov dword [esp], eax
call fcn.004a45c0
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 4]
cmp dword [eax + 8], 1
je 0x4a74f2
lea eax, [0x4dab80]
mov dword [esp], eax
call fcn.004098b0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x11
mov eax, dword [0x5c2560]
test eax, eax
jne 0x4a74e5
lea ecx, [0x4f10b4]
mov dword [edi], ecx
mov ecx, dword [esp + 0x88]
mov dword [edi + 0xc], ecx
mov ecx, dword [0x5c2560]
test ecx, ecx
jne 0x4a74cc
mov eax, dword [esp + 0x84]
mov dword [edi + 8], eax
mov dword [esp + 0x90], 0
lea eax, [0x50eb80]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edi
add esp, 0x80
ret
lea ecx, [edi + 8]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x84]
call fcn.0044a9c0
mov edi, edx
jmp 0x4a74a6
lea eax, [0x4f10b4]
call fcn.0044a9c0
jmp 0x4a7488
mov eax, dword [ecx]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
add esp, 0x80
ret
mov eax, dword [esp + 0x70]
jmp 0x4a7444
lea edi, [eax + 0x18]
mov edx, eax
mov eax, dword [esp + 0x84]
call fcn.0044a9c0
mov eax, edx
mov edx, dword [esp + 0x84]
jmp 0x4a678d
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
call fcn.004ab340
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x4a7586
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x80
ret
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
movzx eax, word [esp + 0x8c]
mov word [esp + 8], ax
call fcn.004a65e0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
add esp, 0x80
ret
call fcn.004254a0
ud2
call fcn.004254a0
ud2
call fcn.004254a0
ud2
call fcn.004254a0
ud2
call fcn.00449270
jmp fcn.004a6720