Function at 0x4253c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x180
mov eax, dword [0x65ada4]
xor eax, esp
mov dword [esp + 0x17c], eax
mov ecx, dword [0x5b46ac]
mov eax, dword [esp + 0x18c]
push ebx
push ebp
mov ebp, dword [esp + 0x190]
push esi
add ecx, 0x2ad
push edi
push ecx
mov dword [esp + 0x34], eax
call fcn.00410e30
mov edx, dword [0x5b46ac]
mov ebx, dword [esp + 0x1a8]
mov cl, byte [esp + 0x1ac]
mov dword [edx + 0x32e], ebx
mov eax, dword [0x5b46b0]
mov dword [eax], 0
mov edx, dword [str.public]
mov byte [edx + 0x12e], cl
mov eax, dword [0x5b46ac]
mov ecx, dword [esp + 0x1b0]
mov dword [eax + 0x33a], ecx
mov eax, dword [0x5b46ac]
lea edx, [eax + 0x2c]
mov dword [eax + 0x28], edx
mov ecx, dword [0x5b46ac]
xor eax, eax
lea esi, [ebp + 0x81]
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], esi
mov eax, esi
add ecx, 0x22c
nop
mov dl, byte [eax]
mov byte [ecx], dl
inc eax
inc ecx
test dl, dl
jne 0x425480
call fcn.004134c0
or eax, 0xffffffff
mov ecx, 0x40
mov edi, 0x6d4720
rep stosd dword es:[edi], eax
mov dword [0x6d4a78], eax
mov dword [0x6d4a7c], 0
test ebx, ebx
je 0x4254bd
mov eax, dword [0x5b46ac]
mov dword [eax + 4], 2
cmp dword [esp + 0x194], 0
je 0x4255c7
mov ecx, dword [0x5b46ac]
add ecx, 0x2ad
push ecx
push esi
call fcn.00405650
push eax
push str._s_Kernel___s__s_
call fcn.00406450
mov edx, dword [0x5b46ac]
add edx, 0x2ad
push edx
lea eax, [esp + 0x24]
push eax
push esi
call fcn.00569ed0
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x425516
call fcn.00564cd0
mov eax, edi
jmp 0x425c40
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x42554f
mov ecx, dword [0x5b46ac]
cmp dword [ecx + 0x33a], 0
mov eax, str.Archive
jne 0x425537
mov eax, str.Database
add ecx, 0x2ad
push ecx
push esi
push eax
push 0x2b1b
call fcn.004073f0
add esp, 0x10
jmp 0x4255b1
cmp dword [ecx + 0x64f], 0
jne 0x425572
mov ecx, dword [0x5b46ac]
add ecx, 0x2ad
push ecx
push esi
push 0x2aff
call fcn.004073f0
jmp 0x4255ae
mov edx, dword [0x5b46ac]
add ecx, 0x102
add edx, 0x2c
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x425581
mov eax, dword [esp + 0x10]
push 0
lea edx, [esp + 0x18]
push edx
push eax
call fcn.00569de0
mov esi, dword [esp + 0x1c]
mov ecx, 0x1fb
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x44]
add esp, 0xc
mov ebx, eax
call fcn.00564cd0
test ebx, ebx
je 0x42563b
mov eax, ebx
jmp 0x425c40
cmp byte [esi], 0
mov eax, esi
jne 0x4255d4
lea eax, [ebp + 0x102]
mov ecx, dword [0x5b46ac]
add ecx, 0x2ad
push ecx
push eax
call fcn.00405650
push eax
push str._s_Kernel___s__s_
call fcn.00406450
mov edx, dword [0x5b46ac]
add esp, 0x10
lea ecx, [ebp + 0x102]
add edx, 0x2c
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x425604
mov eax, dword [esp + 0x30]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x14], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x1c], edx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov eax, dword [0x5b46ac]
cmp dword [eax + 0x33a], 0
je 0x42568e
call fcn.004053f0
cmp eax, 0x3e57
je 0x425664
push 0x2b26
call fcn.004073f0
jmp 0x425c3d
mov eax, dword [0x5b46ac]
cmp dword [eax + 0x33a], 0
je 0x42568e
cmp byte [ebp + 0x789], 0
jne 0x42568e
push esi
push 0x2b28
call fcn.004073f0
add esp, 8
jmp 0x425c40
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x8c]
push edx
push 0
add eax, 0x2c
push 0
push eax
call fcn.0056ae90
add esp, 0x10
push eax
call fcn.0056a9c0
add esp, 8
test eax, eax
je 0x4256d2
lea eax, [esp + 0x88]
push eax
push 0x727
call fcn.004073f0
add esp, 8
jmp 0x425c40
mov edi, 1
mov eax, 0xfff
cmp dword [ebp + 0x653], edi
jne 0x4256e9
mov eax, 0xf9f
cmp dword [ebp + 0x647], 0
jle 0x4256f7
and eax, 0xfffffff7
jmp 0x4256fa
and eax, 0xfffffffb
mov dword [0x67f9ec], eax
mov eax, dword [esp + 0x42]
not eax
and eax, 0x1ff
movsx ecx, ax
push ecx
call sub.MSVCR90.dll__umask
mov ecx, dword [str.public]
mov dword [0x67f9f0], eax
mov eax, dword [esp + 0x1a4]
mov edx, eax
and edx, 0x3fffffff
mov dword [ecx + 0x718], edx
mov dl, byte [ebp + 0x792]
mov ecx, dword [str.public]
add esp, 4
mov byte [ecx + 0x6eb], dl
mov esi, edi
test eax, eax
jns 0x425755
mov esi, 2
jmp 0x425761
test eax, 0x40000000
je 0x425761
mov esi, 4
mov edx, dword [str.public]
mov eax, dword [edx + 0x718]
add eax, 0xfffffffc
mov ebx, 3
cmp eax, 4
ja case.default.0x42577e
jmp dword [eax*4 + 0x425c5c]
movsx eax, word [esp + 0x48]
push eax
call fcn.004d0a80
movsx ecx, word [esp + 0x4a]
push ecx
call fcn.004d0a80
mov edx, dword [0x5b46ac]
add edx, 0x2c
push edx
call fcn.0056ad60
add esp, 0xc
test eax, eax
je 0x4257cc
mov eax, dword [0x5b46ac]
add eax, 0x2c
push eax
push 0x709
call fcn.004073f0
add esp, 8
jmp 0x425c40
mov ecx, dword [0x5b46ac]
mov dword [ecx + 0x28], 0
jmp case.default.0x42577e
call fcn.00414550
push eax
call fcn.00405300
mov edx, dword [0x5b46ac]
add esp, 4
mov dword [edx + 4], ebx
jmp case.default.0x42577e
mov eax, dword [0x5b46ac]
mov dword [eax + 4], ebx
call fcn.00414550
push eax
call fcn.00405300
add esp, 4
jmp case.default.0x42577e
call fcn.00414550
push eax
call fcn.00405300
mov ecx, dword [str.public]
add esp, 4
cmp byte [ecx + 0x6eb], 0
mov edx, str.TBADMIN
jne 0x425836
mov edx, str.tbadmin
mov al, byte [edx]
mov byte [ecx], al
add edx, edi
add ecx, edi
test al, al
jne 0x425836
mov ecx, dword [str.public]
mov dword [ecx + 0x80], 0x616264
mov edx, dword [str.public]
mov byte [edx + 0x100], al
mov eax, dword [str.public]
mov dword [eax + 0x120], edi
mov ecx, dword [0x5b46ac]
mov dword [ecx + 0x332], 0
mov edx, dword [ebp + 0x653]
mov eax, dword [str.public]
mov dword [eax + 0x124], edx
call fcn.00405530
cmp eax, 0x3e57
mov eax, dword [str.public]
je 0x4258b2
cmp dword [eax + 0x124], ebx
je 0x4258b2
push 0x2b24
call fcn.004073f0
jmp 0x425c3d
mov ecx, dword [ebp + 0x667]
mov dword [eax + 0x13b], ecx
mov eax, dword [str.public]
mov edx, dword [eax + 0x13b]
shr edx, 0xa
mov dword [eax + 0x13f], edx
movzx eax, byte [ebp + 0x7e4]
mov ecx, dword [str.public]
mov byte [ecx + 0x6ff], al
mov edx, dword [str.public]
mov dword [edx + 0x700], ebx
movzx eax, byte [ebp + 0x7d7]
mov ecx, dword [str.public]
mov byte [ecx + 0x6f1], al
mov dl, byte [ebp + 0x7d8]
mov eax, dword [str.public]
mov byte [eax + 0x6f2], dl
mov ecx, dword [ebp + 0x633]
mov edx, dword [str.public]
shr ecx, 0xa
lea eax, [ebp + 0x304]
push eax
mov dword [edx + 0x137], ecx
mov ecx, dword [str.public]
push 0x5a9968
add ecx, 0x15d
push 0x5a9960
push ecx
call dword [sym.imp.MSVCR90.dll_sprintf]
mov eax, dword [str.public]
lea edx, [eax + 0x161]
mov dword [eax + 0x159], edx
lea eax, [esp + 0x44]
push eax
push 0
call fcn.00412330
add esp, 0x18
test eax, eax
jne 0x425c40
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov dword [0x6d4820], ecx
mov edx, dword [eax + 4]
mov dword [0x6d4824], edx
mov ecx, dword [eax + 8]
mov dword [0x6d4828], ecx
mov edx, dword [eax + 0xc]
mov dword [0x6d482c], edx
mov eax, dword [ebp + 0x643]
mov dword [0x6d4834], eax
call fcn.0056c2e0
push eax
call fcn.00438550
mov eax, dword [str.public]
add esp, 4
cmp dword [eax + 0x718], 5
je 0x4259d2
add eax, 0x15d
push eax
call fcn.0056c420
add esp, 4
push esi
lea ecx, [esp + 0x18]
push ecx
push ebp
call fcn.0041bb00
add esp, 0xc
test eax, eax
jne 0x425c40
mov edx, dword [str.public]
push eax
push edx
call fcn.00419c20
mov eax, dword [ebp + 0x793]
add esp, 8
cmp eax, 2
je 0x425a08
cmp eax, ebx
jne 0x425a14
mov eax, 0x43
mov word [ebp + 0x797], ax
mov ecx, dword [0x5b46ac]
mov eax, dword [ecx + 0x343]
lea ecx, [eax - 1]
cmp ecx, 6
ja case.default.0x425a2c
jmp dword [ecx*4 + 0x425c70]
lea esi, [ebp + 0x797]
push esi
push 2
call fcn.0056e540
add esp, 8
test eax, eax
jne 0x425a5b
push esi
push 0x2b4d
call fcn.004073f0
add esp, 8
jmp 0x425c32
mov edx, dword [0x5b46ac]
cmp dword [edx + 0x343], 4
jne 0x425a8a
push esi
call fcn.00570620
add esp, 4
test eax, eax
jne 0x425a8a
push esi
push 0x2b62
call fcn.004073f0
add esp, 8
jmp 0x425c32
mov eax, dword [0x5b46ac]
mov byte [eax + 0x342], 0
jmp 0x425aba
lea esi, [ebp + 0x797]
push esi
push 2
call fcn.0056e540
add esp, 8
test eax, eax
je 0x425a48
mov ecx, dword [0x5b46ac]
mov byte [ecx + 0x342], 1
mov edx, dword [0x5b46ac]
add edx, 0x347
push edx
push 0
call fcn.00570b40
mov esi, eax
add esp, 8
test esi, esi
jne 0x425c34
cmp dword [esp + 0x194], eax
je 0x425af1
lea eax, [esp + 0x14]
push eax
call fcn.00426720
add esp, 4
call fcn.0041c820
call fcn.0043a720
mov esi, eax
test esi, esi
jne 0x425c34
mov cl, byte [ebp + 0x7e3]
mov edx, dword [str.public]
mov byte [edx + 0x5a1], cl
mov eax, dword [str.public]
mov dword [eax + 0x6a7], esi
mov ecx, dword [str.public]
mov byte [ecx + 0x6ab], 0
mov edx, dword [0x5b46bc]
cmp dword [edx], esi
je 0x425b77
mov eax, dword [0x5b46b8]
test byte [eax], 2
je 0x425b54
push str.Connected
push 1
push 1
call fcn.00573da0
add esp, 0xc
mov ecx, dword [0x5b46bc]
cmp dword [ecx], 0
je 0x425b77
mov edx, dword [0x5b46b8]
test dword [edx], 0x8000
je 0x425b77
push 8
call fcn.004251d0
add esp, 4
call fcn.0049f630
test al, al
je 0x425c1a
or eax, 0xffffffff
push 0
push 0
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x74]
push 0
push eax
call fcn.00415160
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x425c34
call fcn.0049f6f0
mov esi, eax
test esi, esi
je 0x425bf9
mov edx, dword [0x6d4a74]
lea ecx, [esp + 0x2c]
push ecx
add edx, 0xb
push edx
push 0
push 0xe
call fcn.00416180
push 0
call fcn.0041bc80
add esp, 0x14
mov eax, esi
jmp 0x425c40
mov ecx, dword [0x6d4a74]
lea eax, [esp + 0x2c]
push eax
add ecx, 0xb
push ecx
push 0
push 0xd
call fcn.00416180
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x425c34
xor eax, eax
jmp 0x425c40
push eax
call fcn.0056d930
push eax
push 0x2b4c
call fcn.004073f0
add esp, 0xc
mov esi, eax
push 0
call fcn.0041bc80
mov eax, esi
add esp, 4
mov ecx, dword [esp + 0x18c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00586584
add esp, 0x180
ret