Function at 0x416907
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
push 0x34
call fcn.00452a7a
add esp, 4
mov dword [ebp - 4], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xd
rep stosd dword es:[edi], eax
mov dword [ebx], 0x4cd393
push ebx
add ebx, 0x20
push ebx
push 8
call fcn.00452a7a
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4cd324
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
add ebx, 4
push ebx
push 8
call fcn.00452a7a
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4cd324
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
pop ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
mov ebx, dword [eax]
call dword [ebx + 4]
push eax
mov ebx, dword [ebp - 4]
push ebx
mov eax, dword [ebx]
call dword [eax]
call fcn.00452a74
add esp, 4
pop eax
mov dword [ebp - 4], eax
cmp byte [ebp + 0xc], 0x15
jne 0x416add
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
call fcn.00403474
mov eax, 0
cmp eax, ecx
jl 0x4169bc
push 1
call fcn.00452a80
add esp, 4
add ebx, eax
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
call fcn.00403474
mov eax, 1
cmp eax, ecx
jl 0x4169e1
push 1
call fcn.00452a80
add esp, 4
add ebx, eax
mov dword [ebp - 0xc], ebx
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x14]
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
call fcn.00403474
mov eax, 2
cmp eax, ecx
jl 0x416a17
push 1
call fcn.00452a80
add esp, 4
add ebx, eax
mov dword [ebp - 0x14], ebx
fild dword [ebp - 0x10]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
fsub qword [0x4cd578]
mov ebx, dword [ebp - 0x14]
mov al, byte [ebx]
and eax, 0xff
mov dword [ebp - 0x24], eax
fild dword [ebp - 0x24]
fstp qword [ebp - 0x24]
fsub qword [ebp - 0x24]
fstp qword [ebp - 0x2c]
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x10]
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
call fcn.00403474
mov eax, 3
cmp eax, ecx
jl 0x416a75
push 1
call fcn.00452a80
add esp, 4
add ebx, eax
mov dword [ebp - 0x34], ebx
fild dword [ebp - 0x30]
fstp qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
fsub qword [0x4cd578]
mov ebx, dword [ebp - 0x34]
mov al, byte [ebx]
and eax, 0xff
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x44]
fstp qword [ebp - 0x44]
fsub qword [ebp - 0x44]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.0040181a
push eax
fld qword [ebp - 0x2c]
call fcn.0040181a
push eax
mov ebx, dword [ebp - 0xc]
mov al, byte [ebx]
and eax, 0xff
push eax
mov ebx, dword [ebp - 8]
mov al, byte [ebx]
and eax, 0xff
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x54]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x16
jne 0x416bba
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
call fcn.00403474
mov eax, 0
cmp eax, ecx
jl 0x416b07
push 1
call fcn.00452a80
add esp, 4
add ebx, eax
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
call fcn.00403474
mov eax, 1
cmp eax, ecx
jl 0x416b2c
push 1
call fcn.00452a80
add esp, 4
add ebx, eax
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
call fcn.00403474
mov eax, 2
cmp eax, ecx
jl 0x416b51
push 1
call fcn.00452a80
add esp, 4
add ebx, eax
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
call fcn.00403474
mov eax, 3
cmp eax, ecx
jl 0x416b76
push 1
call fcn.00452a80
add esp, 4
add ebx, eax
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
mov al, byte [ebx]
and eax, 0xff
push eax
mov ebx, dword [ebp - 0x10]
mov al, byte [ebx]
and eax, 0xff
push eax
mov ebx, dword [ebp - 0xc]
mov al, byte [ebx]
and eax, 0xff
push eax
mov ebx, dword [ebp - 8]
mov al, byte [ebx]
and eax, 0xff
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x58]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x17
jne 0x416c9a
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
call fcn.00403474
mov eax, 0
cmp eax, ecx
jl 0x416be4
push 1
call fcn.00452a80
add esp, 4
add ebx, eax
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
call fcn.00403474
mov eax, 1
cmp eax, ecx
jl 0x416c09
push 1
call fcn.00452a80
add esp, 4
add ebx, eax
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
call fcn.00403474
mov eax, 2
cmp eax, ecx
jl 0x416c2e
push 1
call fcn.00452a80
add esp, 4
add ebx, eax
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
call fcn.00403474
mov eax, 3
cmp eax, ecx
jl 0x416c53
push 1
call fcn.00452a80
add esp, 4
add ebx, eax
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
mov al, byte [ebx]
and eax, 0xff
push eax
mov ebx, dword [ebp - 0x10]
mov al, byte [ebx]
and eax, 0xff
push eax
mov ebx, dword [ebp - 0xc]
mov al, byte [ebx]
and eax, 0xff
push eax
mov ebx, dword [ebp - 8]
mov al, byte [ebx]
and eax, 0xff
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x138]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x18
jne 0x416d7a
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
call fcn.00403474
mov eax, 0
cmp eax, ecx
jl 0x416cc4
push 1
call fcn.00452a80
add esp, 4
add ebx, eax
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
call fcn.00403474
mov eax, 1
cmp eax, ecx
jl 0x416ce9
push 1
call fcn.00452a80
add esp, 4
add ebx, eax
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
call fcn.00403474
mov eax, 2
cmp eax, ecx
jl 0x416d0e
push 1
call fcn.00452a80
add esp, 4
add ebx, eax
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
call fcn.00403474
mov eax, 3
cmp eax, ecx
jl 0x416d33
push 1
call fcn.00452a80
add esp, 4
add ebx, eax
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
mov al, byte [ebx]
and eax, 0xff
push eax
mov ebx, dword [ebp - 0x10]
mov al, byte [ebx]
and eax, 0xff
push eax
mov ebx, dword [ebp - 0xc]
mov al, byte [ebx]
and eax, 0xff
push eax
mov ebx, dword [ebp - 8]
mov al, byte [ebx]
and eax, 0xff
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x13c]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x1f
jne 0x416d97
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x4c]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x20
jne 0x416e5b
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x416dc8
mov eax, 0x4cd324
push eax
push 3
mov ebx, 0x454310
call fcn.00452a8c
add esp, 0x28
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
cmp ecx, 0x80000101
jne 0x416dfc
and eax, 0xff
jmp 0x416e47
cmp ecx, 0x80000201
jne 0x416e07
cwde
jmp 0x416e47
cmp ecx, 0x80000301
je 0x416e47
cmp ecx, 0x80000401
je 0x416e47
mov dword [ebp - 0x18], eax
cmp ecx, 0x80000501
je 0x416e37
cmp ecx, 0x80000601
je 0x416e3c
push 2
call fcn.00452a80
add esp, 4
fld dword [ebp - 0x18]
jmp 0x416e42
mov dword [ebp - 0x14], edx
fld qword [ebp - 0x18]
call fcn.0040181a
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x44]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x21
jne 0x416f7c
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x50]
mov dword [ebp - 8], eax
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x416e9d
mov eax, 0x4cd324
push eax
push 3
mov ebx, 0x454310
call fcn.00452a8c
add esp, 0x28
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], ecx
fld dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
cmp ecx, 0x80000101
jne 0x416ed4
and eax, 0xff
jmp 0x416efa
cmp ecx, 0x80000201
jne 0x416edf
cwde
jmp 0x416efa
mov dword [ebp - 0x1c], eax
cmp ecx, 0x80000301
je 0x416efd
cmp ecx, 0x80000401
jne 0x416f02
mov dword [ebp - 0x18], edx
fild qword [ebp - 0x1c]
jmp 0x416f24
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
jmp 0x416f24
cmp ecx, 0x80000501
jne 0x416f0f
fld dword [ebp - 0x1c]
jmp 0x416f24
cmp ecx, 0x80000601
je 0x416f2d
push 2
call fcn.00452a80
add esp, 4
fstp qword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
fadd qword [ebp - 0x1c]
fstp qword [ebp - 0x24]
mov ecx, dword [ebp - 0xc]
cmp ecx, 0x80000004
je 0x416f50
cmp ecx, reloc.WS2_32.dll_getpeername
jne 0x416f60
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x416f60
push ebx
call fcn.00452a74
add esp, 4
fld qword [ebp - 0x24]
call fcn.0040181a
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x44]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x22
jne 0x416f9c
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xdc]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x29
jne 0x417060
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x416fcd
mov eax, 0x4cd324
push eax
push 3
mov ebx, 0x454310
call fcn.00452a8c
add esp, 0x28
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
cmp ecx, 0x80000101
jne 0x417001
and eax, 0xff
jmp 0x41704c
cmp ecx, 0x80000201
jne 0x41700c
cwde
jmp 0x41704c
cmp ecx, 0x80000301
je 0x41704c
cmp ecx, 0x80000401
je 0x41704c
mov dword [ebp - 0x18], eax
cmp ecx, 0x80000501
je 0x41703c
cmp ecx, 0x80000601
je 0x417041
push 2
call fcn.00452a80
add esp, 4
fld dword [ebp - 0x18]
jmp 0x417047
mov dword [ebp - 0x14], edx
fld qword [ebp - 0x18]
call fcn.0040181a
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x48]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x2a
jne 0x417124
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x417091
mov eax, 0x4cd324
push eax
push 3
mov ebx, 0x454310
call fcn.00452a8c
add esp, 0x28
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
cmp ecx, 0x80000101
jne 0x4170c5
and eax, 0xff
jmp 0x417110
cmp ecx, 0x80000201
jne 0x4170d0
cwde
jmp 0x417110
cmp ecx, 0x80000301
je 0x417110
cmp ecx, 0x80000401
je 0x417110
mov dword [ebp - 0x18], eax
cmp ecx, 0x80000501
je 0x417100
cmp ecx, 0x80000601
je 0x417105
push 2
call fcn.00452a80
add esp, 4
fld dword [ebp - 0x18]
jmp 0x41710b
mov dword [ebp - 0x14], edx
fld qword [ebp - 0x18]
call fcn.0040181a
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x70]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x33
jne 0x4171eb
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x417155
mov eax, 0x4cd324
push eax
push 3
mov ebx, 0x454310
call fcn.00452a8c
add esp, 0x28
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
cmp ecx, 0x80000101
jne 0x417189
and eax, 0xff
jmp 0x4171d4
cmp ecx, 0x80000201
jne 0x417194
cwde
jmp 0x4171d4
cmp ecx, 0x80000301
je 0x4171d4
cmp ecx, 0x80000401
je 0x4171d4
mov dword [ebp - 0x18], eax
cmp ecx, 0x80000501
je 0x4171c4
cmp ecx, 0x80000601
je 0x4171c9
push 2
call fcn.00452a80
add esp, 4
fld dword [ebp - 0x18]
jmp 0x4171cf
mov dword [ebp - 0x14], edx
fld qword [ebp - 0x18]
call fcn.0040181a
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x114]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x34
jne 0x4172b2
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x41721c
mov eax, 0x4cd324
push eax
push 3
mov ebx, 0x454310
call fcn.00452a8c
add esp, 0x28
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
cmp ecx, 0x80000101
jne 0x417250
and eax, 0xff
jmp 0x41729b
cmp ecx, 0x80000201
jne 0x41725b
cwde
jmp 0x41729b
cmp ecx, 0x80000301
je 0x41729b
cmp ecx, 0x80000401
je 0x41729b
mov dword [ebp - 0x18], eax
cmp ecx, 0x80000501
je 0x41728b
cmp ecx, 0x80000601
je 0x417290
push 2
call fcn.00452a80
add esp, 4
fld dword [ebp - 0x18]
jmp 0x417296
mov dword [ebp - 0x14], edx
fld qword [ebp - 0x18]
call fcn.0040181a
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x118]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x3d
jne 0x41737e
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x4172e3
mov eax, 0x4cd324
push eax
push 3
mov ebx, 0x454310
call fcn.00452a8c
add esp, 0x28
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
push 1
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
cmp ecx, 0x80000101
jne 0x41731c
and eax, 0xff
jmp 0x417367
cmp ecx, 0x80000201
jne 0x417327
cwde
jmp 0x417367
cmp ecx, 0x80000301
je 0x417367
cmp ecx, 0x80000401
je 0x417367
mov dword [ebp - 0x18], eax
cmp ecx, 0x80000501
je 0x417357
cmp ecx, 0x80000601
je 0x41735c
push 2
call fcn.00452a80
add esp, 4
fld dword [ebp - 0x18]
jmp 0x417362
mov dword [ebp - 0x14], edx
fld qword [ebp - 0x18]
call fcn.0040181a
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xe8]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x3e
jne 0x41744a
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x4173af
mov eax, 0x4cd324
push eax
push 3
mov ebx, 0x454310
call fcn.00452a8c
add esp, 0x28
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
push 2
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
cmp ecx, 0x80000101
jne 0x4173e8
and eax, 0xff
jmp 0x417433
cmp ecx, 0x80000201
jne 0x4173f3
cwde
jmp 0x417433
cmp ecx, 0x80000301
je 0x417433
cmp ecx, 0x80000401
je 0x417433
mov dword [ebp - 0x18], eax
cmp ecx, 0x80000501
je 0x417423
cmp ecx, 0x80000601
je 0x417428
push 2
call fcn.00452a80
add esp, 4
fld dword [ebp - 0x18]
jmp 0x41742e
mov dword [ebp - 0x14], edx
fld qword [ebp - 0x18]
call fcn.0040181a
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xe8]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x3f
jne 0x417516
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x41747b
mov eax, 0x4cd324
push eax
push 3
mov ebx, 0x454310
call fcn.00452a8c
add esp, 0x28
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
push 3
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
cmp ecx, 0x80000101
jne 0x4174b4
and eax, 0xff
jmp 0x4174ff
cmp ecx, 0x80000201
jne 0x4174bf
cwde
jmp 0x4174ff
cmp ecx, 0x80000301
je 0x4174ff
cmp ecx, 0x80000401
je 0x4174ff
mov dword [ebp - 0x18], eax
cmp ecx, 0x80000501
je 0x4174ef
cmp ecx, 0x80000601
je 0x4174f4
push 2
call fcn.00452a80
add esp, 4
fld dword [ebp - 0x18]
jmp 0x4174fa
mov dword [ebp - 0x14], edx
fld qword [ebp - 0x18]
call fcn.0040181a
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xe8]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x40
jne 0x4175e2
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x417547
mov eax, 0x4cd324
push eax
push 3
mov ebx, 0x454310
call fcn.00452a8c
add esp, 0x28
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
push 4
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
cmp ecx, 0x80000101
jne 0x417580
and eax, 0xff
jmp 0x4175cb
cmp ecx, 0x80000201
jne 0x41758b
cwde
jmp 0x4175cb
cmp ecx, 0x80000301
je 0x4175cb
cmp ecx, 0x80000401
je 0x4175cb
mov dword [ebp - 0x18], eax
cmp ecx, 0x80000501
je 0x4175bb
cmp ecx, 0x80000601
je 0x4175c0
push 2
call fcn.00452a80
add esp, 4
fld dword [ebp - 0x18]
jmp 0x4175c6
mov dword [ebp - 0x14], edx
fld qword [ebp - 0x18]
call fcn.0040181a
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xe8]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x41
jne 0x4176ae
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x417613
mov eax, 0x4cd324
push eax
push 3
mov ebx, 0x454310
call fcn.00452a8c
add esp, 0x28
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
push 1
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
cmp ecx, 0x80000101
jne 0x41764c
and eax, 0xff
jmp 0x417697
cmp ecx, 0x80000201
jne 0x417657
cwde
jmp 0x417697
cmp ecx, 0x80000301
je 0x417697
cmp ecx, 0x80000401
je 0x417697
mov dword [ebp - 0x18], eax
cmp ecx, 0x80000501
je 0x417687
cmp ecx, 0x80000601
je 0x41768c
push 2
call fcn.00452a80
add esp, 4
fld dword [ebp - 0x18]
jmp 0x417692
mov dword [ebp - 0x14], edx
fld qword [ebp - 0x18]
call fcn.0040181a
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xec]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x42
jne 0x41777a
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x4176df
mov eax, 0x4cd324
push eax
push 3
mov ebx, 0x454310
call fcn.00452a8c
add esp, 0x28
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
push 2
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
cmp ecx, 0x80000101
jne 0x417718
and eax, 0xff
jmp 0x417763
cmp ecx, 0x80000201
jne 0x417723
cwde
jmp 0x417763
cmp ecx, 0x80000301
je 0x417763
cmp ecx, 0x80000401
je 0x417763
mov dword [ebp - 0x18], eax
cmp ecx, 0x80000501
je 0x417753
cmp ecx, 0x80000601
je 0x417758
push 2
call fcn.00452a80
add esp, 4
fld dword [ebp - 0x18]
jmp 0x41775e
mov dword [ebp - 0x14], edx
fld qword [ebp - 0x18]
call fcn.0040181a
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xec]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x43
jne 0x417846
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x4177ab
mov eax, 0x4cd324
push eax
push 3
mov ebx, 0x454310
call fcn.00452a8c
add esp, 0x28
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
push 3
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
cmp ecx, 0x80000101
jne 0x4177e4
and eax, 0xff
jmp 0x41782f
cmp ecx, 0x80000201
jne 0x4177ef
cwde
jmp 0x41782f
cmp ecx, 0x80000301
je 0x41782f
cmp ecx, 0x80000401
je 0x41782f
mov dword [ebp - 0x18], eax
cmp ecx, 0x80000501
je 0x41781f
cmp ecx, 0x80000601
je 0x417824
push 2
call fcn.00452a80
add esp, 4
fld dword [ebp - 0x18]
jmp 0x41782a
mov dword [ebp - 0x14], edx
fld qword [ebp - 0x18]
call fcn.0040181a
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xec]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x44
jne 0x417912
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x417877
mov eax, 0x4cd324
push eax
push 3
mov ebx, 0x454310
call fcn.00452a8c
add esp, 0x28
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
push 4
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
cmp ecx, 0x80000101
jne 0x4178b0
and eax, 0xff
jmp 0x4178fb
cmp ecx, 0x80000201
jne 0x4178bb
cwde
jmp 0x4178fb
cmp ecx, 0x80000301
je 0x4178fb
cmp ecx, 0x80000401
je 0x4178fb
mov dword [ebp - 0x18], eax
cmp ecx, 0x80000501
je 0x4178eb
cmp ecx, 0x80000601
je 0x4178f0
push 2
call fcn.00452a80
add esp, 4
fld dword [ebp - 0x18]
jmp 0x4178f6
mov dword [ebp - 0x14], edx
fld qword [ebp - 0x18]
call fcn.0040181a
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xec]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x3c
jne 0x4179ff
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x417943
mov eax, 0x4cd324
push eax
push 3
mov ebx, 0x454310
call fcn.00452a8c
add esp, 0x28
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
push 1
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
cmp ecx, 0x80000101
jne 0x417991
and eax, 0xff
jmp 0x4179dc
cmp ecx, 0x80000201
jne 0x41799c
cwde
jmp 0x4179dc
cmp ecx, 0x80000301
je 0x4179dc
cmp ecx, 0x80000401
je 0x4179dc
mov dword [ebp - 0x20], eax
cmp ecx, 0x80000501
je 0x4179cc
cmp ecx, 0x80000601
je 0x4179d1
push 2
call fcn.00452a80
add esp, 4
fld dword [ebp - 0x20]
jmp 0x4179d7
mov dword [ebp - 0x1c], edx
fld qword [ebp - 0x20]
call fcn.0040181a
push eax
push 1
push 1
push 1
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xf0]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x45
jne 0x417aec
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x417a30
mov eax, 0x4cd324
push eax
push 3
mov ebx, 0x454310
call fcn.00452a8c
add esp, 0x28
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
push 1
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
cmp ecx, 0x80000101
jne 0x417a7e
and eax, 0xff
jmp 0x417ac9
cmp ecx, 0x80000201
jne 0x417a89
cwde
jmp 0x417ac9
cmp ecx, 0x80000301
je 0x417ac9
cmp ecx, 0x80000401
je 0x417ac9
mov dword [ebp - 0x20], eax
cmp ecx, 0x80000501
je 0x417ab9
cmp ecx, 0x80000601
je 0x417abe
push 2
call fcn.00452a80
add esp, 4
fld dword [ebp - 0x20]
jmp 0x417ac4
mov dword [ebp - 0x1c], edx
fld qword [ebp - 0x20]
call fcn.0040181a
push eax
push 1
push 2
push 1
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xf0]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x47
jne 0x417b18
mov dword [ebp - 8], 0
push 0
push dword [ebp - 8]
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xcc]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x48
jne 0x417b44
mov dword [ebp - 8], 0
push 0
push dword [ebp - 8]
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xd8]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x49
jne 0x417b70
mov dword [ebp - 8], 0
push 0
push dword [ebp - 8]
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xd0]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x4a
jne 0x417b9c
mov dword [ebp - 8], 0
push 0
push dword [ebp - 8]
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xd4]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x4b
jne 0x417bc5
mov dword [ebp - 8], 0
push 0
push dword [ebp - 8]
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x5c]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x5b
jne 0x417be2
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x40]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x5c
jne 0x417bff
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x74]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x5d
jne 0x417c21
push 3
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x3c]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x5e
jne 0x417c43
push 2
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x3c]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x5f
jne 0x417c65
push 1
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x3c]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x65
jne 0x417c8e
mov dword [ebp - 8], 0
push 0
push dword [ebp - 8]
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x34]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x66
jne 0x417cab
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x18]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x67
jne 0x417cc8
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x30]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x68
jne 0x417ce5
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1c]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x69
jne 0x417d02
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x6a
jne 0x417d1f
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x20]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x6b
jne 0x417d3c
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x38]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x6c
jne 0x417d59
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x28]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x6d
jne 0x417d82
mov dword [ebp - 8], 0
push 0
push dword [ebp - 8]
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x24]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x6f
jne 0x417e06
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
call fcn.00403474
mov eax, 1
cmp eax, ecx
jl 0x417dac
push 1
call fcn.00452a80
add esp, 4
add ebx, eax
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
call fcn.00403474
mov eax, 3
cmp eax, ecx
jl 0x417dd1
push 1
call fcn.00452a80
add esp, 4
add ebx, eax
mov dword [ebp - 0xc], ebx
push 1
mov ebx, dword [ebp - 0xc]
mov al, byte [ebx]
and eax, 0xff
push eax
push 1
mov ebx, dword [ebp - 8]
mov al, byte [ebx]
and eax, 0xff
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x90]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x79
jne 0x417e26
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x84]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x7a
jne 0x417e4f
mov dword [ebp - 8], 0
push 0
push dword [ebp - 8]
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x7c]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x7b
jne 0x417e7b
mov dword [ebp - 8], 0
push 0
push dword [ebp - 8]
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x80]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x7c
jne 0x417e9b
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x88]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x7d
jne 0x417ebb
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x8c]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x7e
jne 0x417ed8
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x78]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x7f
jne 0x417ef8
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xe4]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x80
jne 0x417f48
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
call fcn.00403474
mov eax, 0
cmp eax, ecx
jl 0x417f22
push 1
call fcn.00452a80
add esp, 4
add ebx, eax
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
mov al, byte [ebx]
and eax, 0xff
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xe0]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x81
jne 0x417f68
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + pe_nt_image_headers32]
jmp 0x417fb0
cmp byte [ebp + 0xc], 0x82
jne 0x417fb0
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
call fcn.00403474
mov eax, 0
cmp eax, ecx
jl 0x417f92
push 1
call fcn.00452a80
add esp, 4
add ebx, eax
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
mov al, byte [ebx]
and eax, 0xff
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x68]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 4]
jmp 0x417fbd
push eax
mov ebx, dword [ebp - 4]
push ebx
mov eax, dword [ebx]
call dword [eax]
call fcn.00452a74
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0xc