Function at 0x10023aec
Capabilities:
Get socket status
Receive data
Receive data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
push 8
call fcn.1003d4a5
add esp, 4
mov dword [ebp - 4], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
add ebx, 4
push ebx
push 0x108
call fcn.1003d4a5
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x1009a113
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x40
rep stosd dword es:[edi], eax
push 8
call fcn.1003d4a5
add esp, 4
mov dword [ebp - 8], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
lea eax, [ebp - 4]
push eax
call fcn.100247fa
lea eax, [ebp - 4]
push eax
push dword [ebp + 8]
call fcn.100248a4
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dword [ebx], 5
mov ebx, dword [ebp - 8]
add ebx, 4
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dword [ebx], 0
mov dword [ebp - 0x40], esp
push dword [ebp - 8]
push 0
mov eax, dword [ebp - 4]
push eax
push 0x104
call fcn.1003d4a5
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x40
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
pop ebx
add ebx, 4
push 0
push 0
call dword [sym.imp.ws2_32.dll_select]
nop
nop
nop
nop
cmp dword [ebp - 0x40], esp
je 0x10023c58
push 6
call fcn.1003d4b1
add esp, 4
push eax
mov ebx, dword [ebp - 0x44]
push ebx
mov edi, dword [ebp - 0x48]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 4
mov eax, 2
call fcn.1003d800
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x10023c99
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x10023c97
imul eax, dword [edi]
jmp 0x10023c8c
mov ecx, eax
cmp ecx, 0x40
jle 0x10023ca3
mov ecx, 0x40
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x100
call fcn.1003d49f
add esp, 4
pop eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jle 0x100247b0
mov dword [ebp - 0x10], 0x1388
mov dword [ebp - 0x40], esp
push 4
push dword [ebp - 0x10]
push 0x1006
push 0xffff
push dword [ebp + 8]
call dword [sym.imp.ws2_32.dll_setsockopt]
nop
nop
nop
nop
cmp dword [ebp - 0x40], esp
je 0x10023d03
push 6
call fcn.1003d4b1
add esp, 4
mov eax, 0x1009a0e9
test eax, eax
je 0x10023d1f
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.1003d4a5
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x10023d30
push ebx
call fcn.1003d49f
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
call fcn.1002496e
mov dword [ebp - 0x40], eax
push 3
push dword [ebp - 0x40]
push dword [ebp + 8]
call fcn.100249c0
mov dword [ebp - 0xc], eax
push 0x80000301
push 0
push 0x200
push 1
mov ebx, 0x1bc
call fcn.1003d950
add esp, 0x10
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x10023d88
push ebx
call fcn.1003d49f
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x10023d9f
mov eax, 0x1007ed91
push eax
push 1
mov ebx, 0x194
call fcn.1003da20
add esp, 0x10
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], esp
push 0
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x10023dca
add eax, 8
push eax
push dword [ebp + 8]
call dword [sym.imp.ws2_32.dll_recv]
nop
nop
nop
nop
cmp dword [ebp - 0x44], esp
je 0x10023dea
push 6
call fcn.1003d4b1
add esp, 4
mov eax, 0x1009a0f4
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.10024a01
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x10023e12
push ebx
call fcn.1003d49f
add esp, 4
push 0x80000301
push 0
push 2
push getsockname
push 0
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x10023e31
mov eax, 0x1007eda1
push eax
push 2
mov ebx, 0x134
call fcn.1003e6d0
add esp, 0x1c
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x10023e57
push ebx
call fcn.1003d49f
add esp, 4
push getsockname
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x10023e6a
mov eax, 0x1007eda1
push eax
push 1
mov ebx, 0x9d4
call fcn.1003e730
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x10023e90
push ebx
call fcn.1003d49f
add esp, 4
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 0x18], al
mov eax, 0x1009a0f4
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.10024a01
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x10023ebe
push ebx
call fcn.1003d49f
add esp, 4
push 0x80000301
push 0
push 5
push getsockname
push 0
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x10023edd
mov eax, 0x1007eda1
push eax
push 2
mov ebx, 0x134
call fcn.1003e6d0
add esp, 0x1c
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x10023f03
push ebx
call fcn.1003d49f
add esp, 4
push 0x80000301
push 0
push 2
push getsockname
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x10023f22
mov eax, 0x1007eda1
push eax
push 2
mov ebx, 0x138
call fcn.1003e7e0
add esp, 0x1c
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x10023f48
push ebx
call fcn.1003d49f
add esp, 4
push getsockname
push 0
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x10023f5b
mov eax, 0x1007eda1
push eax
push 1
mov ebx, 0x9d4
call fcn.1003e730
add esp, 0x10
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x10023f81
push ebx
call fcn.1003d49f
add esp, 4
mov eax, dword [ebp - 0x50]
mov byte [ebp - 0x1c], al
cmp byte [ebp - 0x18], 5
jne 0x10023fba
cmp byte [ebp - 0x1c], 0
je 0x10023fac
cmp byte [ebp - 0x1c], 2
je 0x10023fac
mov eax, 1
jmp 0x10023fae
xor eax, eax
test eax, eax
jne 0x10023fba
xor eax, eax
jmp 0x10023fbf
mov eax, 1
test eax, eax
je 0x10023fd1
mov eax, 0xffffffff
jmp 0x100247ba
cmp byte [ebp - 0x1c], 2
jne 0x10024410
push getsockname
push 0
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
test eax, eax
jne 0x10023ff0
mov eax, 0x1007eda1
push eax
push 1
mov ebx, 0x130
call fcn.1003e640
add esp, 0x10
mov dword [ebp - 0x20], eax
push getsockname
push 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x1002401b
mov eax, 0x1007eda1
push eax
push 1
mov ebx, 0x130
call fcn.1003e640
add esp, 0x10
mov dword [ebp - 0x24], eax
push 0x80000301
push 0
push dword [ebp - 0x20]
push 1
mov ebx, 0x9d4
call fcn.1003e730
add esp, 0x10
push 0x80000101
push 0
push eax
push 1
mov ebx, 0x198
call fcn.1003e4e0
add esp, 0x10
mov dword [ebp - 0x44], eax
push getsockname
push 0
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
test eax, eax
jne 0x1002407f
mov eax, 0x1007eda1
push eax
push 1
mov ebx, 0x198
call fcn.1003e4e0
add esp, 0x10
mov dword [ebp - 0x48], eax
push 0x80000301
push 0
push dword [ebp - 0x24]
push 1
mov ebx, 0x9d4
call fcn.1003e730
add esp, 0x10
push 0x80000101
push 0
push eax
push 1
mov ebx, 0x198
call fcn.1003e4e0
add esp, 0x10
mov dword [ebp - 0x50], eax
push getsockname
push 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x100240e3
mov eax, 0x1007eda1
push eax
push 1
mov ebx, 0x198
call fcn.1003e4e0
add esp, 0x10
mov dword [ebp - 0x54], eax
push dword [ebp - 0x54]
push dword [ebp - 0x50]
push dword [ebp - 0x48]
push dword [ebp - 0x44]
push 0x1009a0f6
mov ecx, 5
call fcn.10020221
add esp, 0x14
mov dword [ebp - 0x58], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x1002412a
push ebx
call fcn.1003d49f
add esp, 4
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x1002413a
push ebx
call fcn.1003d49f
add esp, 4
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x1002414a
push ebx
call fcn.1003d49f
add esp, 4
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x1002415a
push ebx
call fcn.1003d49f
add esp, 4
mov eax, dword [ebp - 0x58]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x1002416e
push ebx
call fcn.1003d49f
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
call fcn.1002496e
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x20]
fstp qword [ebp - 0x48]
fld qword [ebp - 0x48]
fild dword [ebp - 0x24]
fstp qword [ebp - 0x50]
fadd qword [ebp - 0x50]
fadd qword [0x1009a0ff]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
call fcn.100209d0
push eax
push dword [ebp - 0x40]
push dword [ebp + 8]
call fcn.100249c0
push 0x80000301
push 0
push 0x200
push 1
mov ebx, 0x1bc
call fcn.1003d950
add esp, 0x10
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x100241e2
push ebx
call fcn.1003d49f
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x100241f9
mov eax, 0x1007ed91
push eax
push 1
mov ebx, 0x194
call fcn.1003da20
add esp, 0x10
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], esp
push 0
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x10024224
add eax, 8
push eax
push dword [ebp + 8]
call dword [sym.imp.ws2_32.dll_recv]
nop
nop
nop
nop
cmp dword [ebp - 0x44], esp
je 0x10024244
push 6
call fcn.1003d4b1
add esp, 4
mov eax, 0x1009a0f4
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.10024a01
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x1002426c
push ebx
call fcn.1003d49f
add esp, 4
push 0x80000301
push 0
push 2
push getsockname
push 0
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x1002428b
mov eax, 0x1007eda1
push eax
push 2
mov ebx, 0x134
call fcn.1003e6d0
add esp, 0x1c
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x100242b1
push ebx
call fcn.1003d49f
add esp, 4
push getsockname
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x100242c4
mov eax, 0x1007eda1
push eax
push 1
mov ebx, 0x9d4
call fcn.1003e730
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x100242ea
push ebx
call fcn.1003d49f
add esp, 4
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 0x28], al
mov eax, 0x1009a0f4
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.10024a01
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x10024318
push ebx
call fcn.1003d49f
add esp, 4
push 0x80000301
push 0
push 5
push getsockname
push 0
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x10024337
mov eax, 0x1007eda1
push eax
push 2
mov ebx, 0x134
call fcn.1003e6d0
add esp, 0x1c
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x1002435d
push ebx
call fcn.1003d49f
add esp, 4
push 0x80000301
push 0
push 2
push getsockname
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x1002437c
mov eax, 0x1007eda1
push eax
push 2
mov ebx, 0x138
call fcn.1003e7e0
add esp, 0x1c
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x100243a2
push ebx
call fcn.1003d49f
add esp, 4
push getsockname
push 0
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x100243b5
mov eax, 0x1007eda1
push eax
push 1
mov ebx, 0x9d4
call fcn.1003e730
add esp, 0x10
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x100243db
push ebx
call fcn.1003d49f
add esp, 4
mov eax, dword [ebp - 0x50]
mov byte [ebp - 0x2c], al
cmp byte [ebp - 0x28], 1
jne 0x100243f9
cmp byte [ebp - 0x2c], 0
jne 0x100243f9
xor eax, eax
jmp 0x100243fe
mov eax, 1
test eax, eax
je 0x10024410
mov eax, 0xffffffff
jmp 0x100247ba
mov dword [ebp - 0x40], esp
mov ebx, dword [ebp + 0x14]
push dword [ebx]
call dword [sym.imp.ws2_32.dll_inet_addr_1]
nop
nop
nop
nop
cmp dword [ebp - 0x40], esp
je 0x10024434
push 6
call fcn.1003d4b1
add esp, 4
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x40], esp
push dword [ebp + 0x18]
call dword [sym.imp.ws2_32.dll_ntohs_1]
nop
nop
nop
nop
cmp dword [ebp - 0x40], esp
je 0x10024459
push 6
call fcn.1003d4b1
add esp, 4
mov word [ebp - 0x34], ax
push 0x80000301
push 0
push 0x200
push 1
mov ebx, 0x1bc
call fcn.1003d950
add esp, 0x10
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x10024492
push ebx
call fcn.1003d49f
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
push 0x80000301
push 0
push dword [ebp - 0x30]
push 1
mov ebx, 0x198
call fcn.1003e4e0
add esp, 0x10
mov dword [ebp - 0x40], eax
push 0x80000201
push 0
push dword [ebp - 0x34]
push 1
mov ebx, 0x198
call fcn.1003e4e0
add esp, 0x10
mov dword [ebp - 0x44], eax
push dword [ebp - 0x44]
push dword [ebp - 0x40]
push 0x1009a107
mov ecx, 3
call fcn.10020221
add esp, 0xc
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x100244ff
push ebx
call fcn.1003d49f
add esp, 4
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x1002450f
push ebx
call fcn.1003d49f
add esp, 4
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x10024523
push ebx
call fcn.1003d49f
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
call fcn.1002496e
mov dword [ebp - 0x40], eax
push 0xa
push dword [ebp - 0x40]
push dword [ebp + 8]
call fcn.100249c0
push 0x80000301
push 0
push 0x200
push 1
mov ebx, 0x1bc
call fcn.1003d950
add esp, 0x10
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x10024578
push ebx
call fcn.1003d49f
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x1002458f
mov eax, 0x1007ed91
push eax
push 1
mov ebx, 0x194
call fcn.1003da20
add esp, 0x10
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], esp
push 0
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100245ba
add eax, 8
push eax
push dword [ebp + 8]
call dword [sym.imp.ws2_32.dll_recv]
nop
nop
nop
nop
cmp dword [ebp - 0x44], esp
je 0x100245da
push 6
call fcn.1003d4b1
add esp, 4
mov eax, 0x1009a0f4
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.10024a01
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x10024602
push ebx
call fcn.1003d49f
add esp, 4
push 0x80000301
push 0
push 2
push getsockname
push 0
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x10024621
mov eax, 0x1007eda1
push eax
push 2
mov ebx, 0x134
call fcn.1003e6d0
add esp, 0x1c
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x10024647
push ebx
call fcn.1003d49f
add esp, 4
push getsockname
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x1002465a
mov eax, 0x1007eda1
push eax
push 1
mov ebx, 0x9d4
call fcn.1003e730
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x10024680
push ebx
call fcn.1003d49f
add esp, 4
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 0x38], al
mov eax, 0x1009a0f4
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.10024a01
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x100246ae
push ebx
call fcn.1003d49f
add esp, 4
push 0x80000301
push 0
push 5
push getsockname
push 0
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x100246cd
mov eax, 0x1007eda1
push eax
push 2
mov ebx, 0x134
call fcn.1003e6d0
add esp, 0x1c
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x100246f3
push ebx
call fcn.1003d49f
add esp, 4
push 0x80000301
push 0
push 2
push getsockname
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x10024712
mov eax, 0x1007eda1
push eax
push 2
mov ebx, 0x138
call fcn.1003e7e0
add esp, 0x1c
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x10024738
push ebx
call fcn.1003d49f
add esp, 4
push getsockname
push 0
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x1002474b
mov eax, 0x1007eda1
push eax
push 1
mov ebx, 0x9d4
call fcn.1003e730
add esp, 0x10
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x10024771
push ebx
call fcn.1003d49f
add esp, 4
mov eax, dword [ebp - 0x50]
mov byte [ebp - 0x3c], al
cmp byte [ebp - 0x38], 5
jne 0x1002478f
cmp byte [ebp - 0x3c], 0
jne 0x1002478f
xor eax, eax
jmp 0x10024794
mov eax, 1
test eax, eax
je 0x100247a6
mov eax, 0xffffffff
jmp 0x100247ba
mov eax, 0
jmp 0x100247ba
mov eax, 0xffffffff
jmp 0x100247ba
push eax
mov ebx, dword [ebp - 4]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.1003d49f
add esp, 4
pop ebx
call fcn.1003d49f
add esp, 4
mov ebx, dword [ebp - 8]
push ebx
call fcn.1003d49f
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x100247f3
push ebx
call fcn.1003d49f
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0x14