Function at 0x4a0940
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 0x4a1763
add esp, 0xffffff80
movzx eax, word [esp + 0x8c]
test ax, 2
jne 0x4a16b3
lea eax, [0x4d8b00]
mov dword [esp], eax
call fcn.0040a430
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 [0x5af4d0]
test edx, edx
jne 0x4a1694
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 0x4a09e8
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 0x4a15a3
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 0x4a0d42
xchg ebp, eax
cmp al, 0x28
xchg ebp, eax
ja 0x4a0ba0
xchg ebp, eax
cmp al, 0x24
xchg ebp, eax
jne 0x4a0a79
movzx ebp, word [eax]
test bp, 0x10
je 0x4a0a6a
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0049e0c0
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 0x4a09c0
mov dword [esp], eax
mov byte [esp + 4], 8
call fcn.0049e0c0
jmp 0x4a0a47
xchg ebp, eax
cmp al, 0x28
xchg ebp, eax
jne 0x4a0b31
movzx ebp, word [eax]
test bp, 0x40
je 0x4a0a99
cmp ecx, 2
jl 0x4a0a99
cmp byte [edx + 1], 0x3f
je 0x4a0ae0
inc dword [eax + 0x14]
mov dword [esp], eax
mov byte [esp + 4], pe_nt_image_headers32
call fcn.0049e0c0
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 0x4a09c0
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004a1980
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test ecx, ecx
jne 0x4a0b14
mov ecx, ebx
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a09c0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
sub esp, 0xffffff80
ret
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004a5410
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
test ecx, ecx
jne 0x4a0b83
mov dword [esp + 0x58], ebx
mov dword [esp + 0x3c], ebp
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0049e070
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x58]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a09c0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], edx
sub esp, 0xffffff80
ret
xchg ebp, eax
cmp al, 0x29
xchg ebp, eax
je 0x4a0ce7
lea ebx, [ebp - 0x2a]
cmp bl, 1
jbe 0x4a0c16
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x4a0c0a
movzx ebx, word [eax]
test bx, 8
je 0x4a0bfb
mov dword [esp], eax
mov byte [esp + 4], 6
call fcn.0049e0c0
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 0x4a09c0
mov dword [esp], eax
mov byte [esp + 4], 5
call fcn.0049e0c0
jmp 0x4a0bd1
mov ebx, dword [esp + 0x88]
jmp 0x4a0b31
xchg ebp, eax
cmp al, 0x2a
xchg ebp, eax
jne 0x4a0cbe
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.0049e170
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x34]
test eax, eax
jne 0x4a0ca1
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 0x4a09c0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ebx
sub esp, 0xffffff80
ret
xchg ebp, eax
cmp al, 0x2b
xchg ebp, eax
jne 0x4a0ccf
mov ebx, 0xf
jmp 0x4a0c26
xchg ebp, eax
cmp al, 0x3f
xchg ebp, eax
jne 0x4a0ce0
mov ebx, 0x10
jmp 0x4a0c26
mov ebx, esi
jmp 0x4a0c26
mov dword [esp], eax
call fcn.004a26e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
jne 0x4a0d25
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 0x4a09c0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
sub esp, 0xffffff80
ret
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
ja 0x4a1341
xchg ebp, eax
cmp al, 0x3f
xchg ebp, eax
je 0x4a0c16
xchg ebp, eax
cmp al, 0x5b
xchg ebp, eax
je 0x4a12f2
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x4a0b31
movzx ebp, word [eax]
test bp, 0x40
je 0x4a0dad
cmp ecx, 2
jl 0x4a0dad
movzx ebp, byte [edx + 1]
xchg ebp, eax
cmp al, 0x43
xchg ebp, eax
ja 0x4a1156
xchg ebp, eax
cmp al, 0x41
xchg ebp, eax
je 0x4a1122
xchg ebp, eax
cmp al, 0x42
xchg ebp, eax
je 0x4a10ee
xchg ebp, eax
cmp al, 0x43
xchg ebp, eax
je 0x4a1080
nop
mov edi, dword [eax + 0x10]
lea ebp, [eax + 0x10]
mov dword [esp + 0x7c], ebp
test edi, edi
je 0x4a105d
mov dword [esp + 0x6c], edi
mov ebx, dword [0x5af4d0]
mov esi, dword [edi + 0x10]
test ebx, ebx
jne 0x4a102d
mov dword [eax + 0x10], esi
mov ebx, eax
xor eax, eax
call fcn.00453d31
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x68], eax
mov byte [eax], 4
movzx ecx, word [ebx]
mov word [eax + 2], cx
mov ecx, dword [esp + 0x50]
cmp ecx, 2
jl 0x4a0e16
movzx esi, byte [edx + 1]
xchg esi, eax
cmp al, 0x70
xchg esi, eax
je 0x4a0f5d
xchg esi, eax
cmp al, 0x50
xchg esi, eax
je 0x4a0f5d
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea ebp, [eax + 0x20]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 2
call fcn.004a2fd0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
test ebx, ebx
je 0x4a0ea6
mov dword [esp + 0x48], eax
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x68]
mov dword [esi + 0x18], edx
mov dword [esi + 0x1c], ecx
mov ecx, dword [0x5af4d0]
test ecx, ecx
jne 0x4a0e9a
mov dword [esi + 0x14], ebx
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.0049d970
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x60]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a09c0
lea edi, [esi + 0x14]
mov eax, ebx
call fcn.00453b50
jmp 0x4a0e74
nop
mov ecx, dword [0x5af4d0]
mov edx, dword [esp + 0x70]
mov eax, dword [edx + 0x10]
test ecx, ecx
jne 0x4a0f41
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.004a28e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
test edx, edx
jne 0x4a0f24
mov dword [esp + 0x3c], eax
mov dword [esp + 0x58], ebx
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0049e070
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x58]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a09c0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], ecx
sub esp, 0xffffff80
ret
mov ecx, dword [esp + 0x68]
lea edi, [ecx + 0x10]
call fcn.00453b50
mov edi, dword [esp + 0x7c]
mov eax, ecx
call fcn.00453b50
jmp 0x4a0ec6
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea ebp, [eax + 0x20]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 2
call fcn.004a3550
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
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 0x4a1010
test edx, edx
je 0x4a0ffb
mov dword [esp + 0x40], esi
mov dword [esp + 0x5c], edi
mov ebx, dword [esp + 0x68]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
mov ecx, dword [0x5af4d0]
test ecx, ecx
jne 0x4a0fed
mov dword [ebx + 0x14], edx
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.0049d970
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x5c]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a09c0
lea ecx, [ebx + 0x14]
mov edi, ecx
mov eax, edx
call fcn.00453b50
jmp 0x4a0fc7
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x70]
jmp 0x4a0e16
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], ebx
sub esp, 0xffffff80
ret
mov eax, edi
mov edi, ebp
mov ecx, eax
mov eax, esi
call fcn.00453b50
lea edx, [0x4dab60]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.0040eaa0
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x7c]
jmp 0x4a0de1
lea eax, [0x4dab60]
mov dword [esp], eax
call fcn.0040a430
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x7c]
jmp 0x4a0de5
lea eax, [0x4d1880]
mov dword [esp], eax
call fcn.0040a430
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x17
lea ecx, [0x4e7225]
mov dword [eax], ecx
mov dword [eax + 0xc], 2
mov ecx, dword [0x5af4d0]
test ecx, ecx
jne 0x4a10dc
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
mov dword [esp + 0x90], 0
lea ecx, [0x503890]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
sub esp, 0xffffff80
ret
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x78]
call fcn.00453b50
mov eax, ecx
jmp 0x4a10b9
mov dword [esp], eax
mov byte [esp + 4], 0xc
call fcn.0049e0c0
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 0x4a09c0
mov dword [esp], eax
mov byte [esp + 4], 9
call fcn.0049e0c0
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 0x4a09c0
xchg ebp, eax
cmp al, 0x51
xchg ebp, eax
je 0x4a11d7
xchg ebp, eax
cmp al, 0x62
xchg ebp, eax
je 0x4a11a3
xchg ebp, eax
cmp al, 0x7a
xchg ebp, eax
jne 0x4a0dad
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0049e0c0
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 0x4a09c0
mov dword [esp], eax
mov byte [esp + 4], 0xb
call fcn.0049e0c0
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 0x4a09c0
mov dword [esp], edx
mov dword [esp + 4], ecx
lea eax, [0x4e2e74]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
call fcn.0049b3e0
mov ecx, dword [esp + 0x10]
test ecx, ecx
jge 0x4a12a5
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 0x4a124e
mov dword [esp + 0x44], edx
mov dword [esp + 0x64], ebx
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0049e070
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x44]
test edx, edx
je 0x4a1293
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.004a5410
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x18]
test eax, eax
je 0x4a1226
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ebp
sub esp, 0xffffff80
ret
mov edx, eax
mov ecx, ebx
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a09c0
mov edx, dword [esp + 0x50]
cmp ecx, edx
ja 0x4a1758
cmp ecx, 2
jb 0x4a174e
lea ebx, [ecx - 2]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
mov esi, dword [esp + 0x78]
add ebx, esi
lea eax, [ecx + 2]
cmp eax, edx
ja 0x4a1747
sub edx, eax
mov ecx, edx
neg edx
sar edx, 0x1f
and edx, eax
add esi, edx
mov eax, ecx
mov ecx, ebx
mov edx, ebp
mov ebx, esi
jmp 0x4a121c
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004a3c90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test ebx, ebx
jne 0x4a1324
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x4a09c0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], eax
sub esp, 0xffffff80
ret
xchg ebp, eax
cmp al, 0x5e
xchg ebp, eax
jne 0x4a1398
movzx ebp, word [eax]
test bp, 0x10
je 0x4a1389
mov dword [esp], eax
mov byte [esp + 4], 9
call fcn.0049e0c0
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 0x4a09c0
mov dword [esp], eax
mov byte [esp + 4], 7
call fcn.0049e0c0
jmp 0x4a135f
xchg ebp, eax
cmp al, 0x7b
xchg ebp, eax
je 0x4a1405
xchg ebp, eax
cmp al, 0x7c
xchg ebp, eax
jne 0x4a0b31
mov dword [esp], eax
call fcn.004a2170
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x4a13e8
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 0x4a09c0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
sub esp, 0xffffff80
ret
mov dword [esp + 0x4c], edi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004a1770
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
movzx ebp, byte [esp + 0x1c]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4a146f
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], 0x7b
call fcn.0049e070
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 0x4a09c0
test edx, edx
jl 0x4a1521
cmp edx, 0x3e8
jg 0x4a1521
cmp ebx, 0x3e8
jg 0x4a1521
test ebx, ebx
jl 0x4a149b
cmp edx, ebx
jg 0x4a1521
mov ebp, dword [esp + 0x70]
mov dword [esp], ebp
mov byte [esp + 4], 0x11
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x24], eax
call fcn.0049e170
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
test ecx, ecx
jne 0x4a1504
mov ecx, ebx
mov eax, 0x11
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x78]
jmp 0x4a09c0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
sub esp, 0xffffff80
ret
mov ecx, dword [esp + 0x50]
mov edx, ecx
sub ecx, eax
cmp ecx, edx
ja 0x4a175d
mov dword [esp + 0x54], ecx
lea eax, [0x4d1880]
mov dword [esp], eax
call fcn.0040a430
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x14
lea ecx, [0x4e6326]
mov dword [eax], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x5af4d0]
test ecx, ecx
jne 0x4a1591
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
mov dword [esp + 0x90], 0
lea ecx, [0x503890]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
sub esp, 0xffffff80
ret
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x78]
call fcn.00453b50
mov eax, ecx
jmp 0x4a156e
mov dword [esp], eax
call fcn.0049e6e0
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.004a2480
movzx eax, byte [esp + 4]
test al, al
je 0x4a168b
mov eax, dword [esp + 0x70]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 8]
lea ecx, [ebx - 1]
cmp ecx, edx
ja 0x4a1742
mov dword [eax + 8], ecx
mov dword [esp], eax
call fcn.0049e840
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 4]
cmp dword [eax + 8], 1
je 0x4a1668
lea eax, [0x4d1880]
mov dword [esp], eax
call fcn.0040a430
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x11
lea ecx, [0x4e5549]
mov dword [eax], ecx
mov ecx, dword [esp + 0x88]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x5af4d0]
test ecx, ecx
jne 0x4a1653
mov ecx, dword [esp + 0x84]
mov dword [eax + 8], ecx
mov dword [esp + 0x90], 0
lea ecx, [0x503890]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
sub esp, 0xffffff80
ret
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x84]
call fcn.00453b50
mov eax, ecx
jmp 0x4a1630
mov eax, dword [ecx]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
sub esp, 0xffffff80
ret
mov eax, dword [esp + 0x70]
jmp 0x4a15dc
lea edi, [eax + 0x18]
mov edx, eax
mov eax, dword [esp + 0x84]
call fcn.00453b50
mov eax, edx
mov edx, dword [esp + 0x84]
jmp 0x4a09aa
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
call fcn.004a5320
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x4a16f6
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
sub esp, 0xffffff80
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.004a0800
mov eax, dword [esp + 0xc]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
sub esp, 0xffffff80
ret
call fcn.00453c10
mov ecx, edx
call fcn.00453c30
mov eax, 2
call fcn.00453c30
call fcn.00453bf0
call fcn.00453bf0
nop
call fcn.00452310
jmp fcn.004a0940