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

Disassembly:
push 0xffffffffffffffff
push 0x460b43
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x334
push ebx
push ebp
mov dword [esp + 0x10], ecx
call fcn.00424d90
mov ebp, eax
xor ebx, ebx
cmp ebp, ebx
mov dword [esp + 8], ebp
je 0x436a8a
push str.Groups
mov ecx, ebp
call fcn.0041e0f0
test al, al
jne 0x435ab6
push 1
push ebx
push ebx
push str.Groups
mov ecx, ebp
call fcn.0041fbb0
push esi
push edi
mov ecx, ebp
call fcn.0041d6a0
push str.Group
mov ecx, ebp
call fcn.0041e0f0
test al, al
je 0x435f9c
lea ecx, [esp + 0x184]
call fcn.00403c20
push str.Name
lea eax, [esp + 0x5c]
push eax
mov ecx, ebp
mov dword [esp + 0x354], ebx
mov dword [esp + 0x1c0], ebx
mov dword [esp + 0x1c4], ebx
mov dword [esp + 0x1bc], 2
call fcn.00421720
mov esi, eax
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x18c]
mov edi, 0x10
cmp eax, edi
mov byte [esp + 0x34c], 1
jae 0x435b38
lea ecx, [esp + 0x18c]
cmp dword [esi + 0x18], edi
jb 0x435b42
mov eax, dword [esi + 4]
jmp 0x435b45
lea eax, [esi + 4]
cmp ecx, eax
je 0x435b68
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x190]
call fcn.00401cd0
push 0xffffffffffffffff
push ebx
push esi
lea ecx, [esp + 0x194]
call fcn.004022a0
cmp dword [esp + 0x70], edi
mov byte [esp + 0x34c], 0
jb 0x435b83
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.0044b92d
add esp, 4
mov eax, dword [esp + 0x19c]
cmp eax, ebx
mov dword [esp + 0x70], 0xf
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x5c], 0
je 0x435bcd
cmp dword [esp + 0x1a0], 0x10
mov esi, dword [esp + 0x18c]
jae 0x435bb7
lea esi, [esp + 0x18c]
xor ecx, ecx
mov edi, 0x462398
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x435bc9
sbb edx, edx
sbb edx, 0xffffffff
cmp edx, ebx
jne 0x435bdc
xor edx, edx
cmp eax, ebx
setne dl
cmp edx, ebx
je 0x435f71
mov ecx, ebp
call fcn.0041d6a0
push str.Option
mov ecx, ebp
call fcn.0041e0f0
test al, al
je 0x435eb1
jmp 0x435c00
mov esi, dword [esp + 0x10]
push str.Name
lea edx, [esp + 0x20]
push edx
mov ecx, esi
call fcn.00421720
lea eax, [esp + 0x38]
push eax
mov ecx, esi
mov byte [esp + 0x350], 2
call fcn.00421700
mov edx, dword [esp + 0x30]
test edx, edx
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x34]
mov byte [esp + 0x34c], 3
je 0x435d6b
cmp edx, 0x17
mov ecx, edx
jb 0x435c51
mov ecx, 0x17
cmp ebp, 0x10
mov esi, ebx
jae 0x435c5c
lea esi, [esp + 0x20]
mov edi, str.Bypass_server_userlimit
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x435c6c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x435ca3
cmp edx, 0x17
jb 0x435ca3
cmp edx, 0x17
setne al
test eax, eax
jne 0x435ca3
cmp dword [esp + 0x50], 0x10
mov eax, dword [esp + 0x3c]
jae 0x435c8e
lea eax, [esp + 0x3c]
push eax
call fcn.0044c58a
add esp, 4
mov dword [esp + 0x1b4], eax
jmp 0x435e13
test edx, edx
je 0x435d6b
cmp edx, 0xa
mov ecx, edx
jb 0x435cb7
mov ecx, 0xa
cmp ebp, 0x10
mov esi, ebx
jae 0x435cc2
lea esi, [esp + 0x20]
mov edi, str.User_Limit
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x435cd2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x435d09
cmp edx, 0xa
jb 0x435d09
cmp edx, 0xa
setne al
test eax, eax
jne 0x435d09
cmp dword [esp + 0x50], 0x10
mov eax, dword [esp + 0x3c]
jae 0x435cf4
lea eax, [esp + 0x3c]
push eax
call fcn.0044c58a
add esp, 4
mov dword [esp + 0x1b8], eax
jmp 0x435e13
test edx, edx
je 0x435d6b
cmp edx, 8
mov ecx, edx
jb 0x435d19
mov ecx, 8
cmp ebp, 0x10
mov esi, ebx
jae 0x435d24
lea esi, [esp + 0x20]
mov edi, str.IP_Limit
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x435d34
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x435d6b
cmp edx, 8
jb 0x435d6b
cmp edx, 8
setne al
test eax, eax
jne 0x435d6b
cmp dword [esp + 0x50], 0x10
mov eax, dword [esp + 0x3c]
jae 0x435d56
lea eax, [esp + 0x3c]
push eax
call fcn.0044c58a
add esp, 4
mov dword [esp + 0x1bc], eax
jmp 0x435e13
push 7
push str.Enabled
push edx
push 0
lea ecx, [esp + 0x2c]
call fcn.00401450
test eax, eax
jne 0x435da3
cmp dword [esp + 0x50], 0x10
mov eax, dword [esp + 0x3c]
jae 0x435d91
lea eax, [esp + 0x3c]
push eax
call fcn.0044c58a
add esp, 4
mov dword [esp + 0x1c0], eax
jmp 0x435e13
mov ecx, dword [esp + 0x30]
push 8
push 0x465de0
push ecx
push 0
lea ecx, [esp + 0x2c]
call fcn.00401450
test eax, eax
jne 0x435e13
mov ecx, dword [esp + 0x22c]
mov eax, 0x10
cmp ecx, eax
mov ecx, dword [esp + 0x218]
jae 0x435ddc
lea ecx, [esp + 0x218]
cmp dword [esp + 0x50], eax
mov eax, dword [esp + 0x3c]
jae 0x435dea
lea eax, [esp + 0x3c]
cmp ecx, eax
je 0x435e13
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x21c]
call fcn.00401cd0
push 0xffffffffffffffff
push 0
lea edx, [esp + 0x40]
push edx
lea ecx, [esp + 0x220]
call fcn.004022a0
mov eax, dword [esp + 0x1b8]
xor ebx, ebx
cmp eax, ebx
jl 0x435e27
cmp eax, 0x3b9ac9ff
jle 0x435e2e
mov dword [esp + 0x1b8], ebx
mov eax, dword [esp + 0x1bc]
cmp eax, ebx
jl 0x435e40
cmp eax, 0x3b9ac9ff
jle 0x435e47
mov dword [esp + 0x1bc], ebx
mov eax, dword [esp + 0x50]
mov edi, 0x10
cmp eax, edi
jb 0x435e61
mov eax, dword [esp + 0x3c]
push eax
call fcn.0044b92d
add esp, 4
cmp dword [esp + 0x34], edi
mov esi, 0xf
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], 0
mov byte [esp + 0x34c], 0
jb 0x435e8e
mov ecx, dword [esp + 0x20]
push ecx
call fcn.0044b92d
add esp, 4
mov ecx, dword [esp + 0x10]
push str.Option
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], 0
call fcn.0041e0f0
test al, al
jne 0x435c00
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
lea edx, [esp + 0x184]
push edx
push edi
mov ecx, ebx
call fcn.00429910
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x188]
push ecx
push edi
mov ecx, ebx
mov dword [esp + 0x20], 0
call fcn.0042e6b0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x435f20
mov esi, dword [esp + 0x1a8]
test esi, esi
je 0x435f20
mov ecx, dword [esp + 0x1ac]
sub ecx, esi
mov eax, 0x66666667
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x54], eax
je 0x435f20
mov dword [esi + 0x48], 1
lea ecx, [esp + 0x184]
push ecx
push edi
mov ecx, ebx
call fcn.0042a020
mov eax, dword [ebx + 0x18]
test eax, eax
lea ecx, [ebx + 0x14]
je 0x435f57
mov edx, dword [ecx + 8]
sub edx, eax
mov eax, 0x2e8ba2e9
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0x4e20
jae 0x435f64
lea edx, [esp + 0x184]
push edx
call fcn.00434500
mov ecx, edi
call fcn.0041dc20
mov ebp, dword [esp + 0x10]
xor ebx, ebx
lea ecx, [esp + 0x184]
mov dword [esp + 0x34c], 0xffffffff
call fcn.00403cf0
push str.Group
mov ecx, ebp
call fcn.0041e0f0
test al, al
jne 0x435ad3
mov ecx, ebp
call fcn.0041dc20
mov eax, dword [ebp + 0x50]
xor ecx, ecx
cmp eax, ebx
setne cl
push str.Users
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x5c], ecx
mov ecx, ebp
call fcn.0041e0f0
test al, al
jne 0x435fd3
push 1
push ebx
push ebx
push str.Users
mov ecx, ebp
call fcn.0041fbb0
mov ecx, ebp
call fcn.0041d6a0
push str.User
mov ecx, ebp
call fcn.0041e0f0
test al, al
je 0x43683b
mov edi, 0x10
lea ecx, [esp + 0x74]
call fcn.0040e700
push str.Name
lea edx, [esp + 0x5c]
push edx
mov ecx, ebp
mov dword [esp + 0x354], 4
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xac], 2
call fcn.00421720
mov esi, eax
cmp dword [esp + 0x13c], edi
mov ecx, dword [esp + 0x128]
mov byte [esp + 0x34c], 5
jae 0x436052
lea ecx, [esp + 0x128]
cmp dword [esi + 0x18], edi
jb 0x43605c
mov eax, dword [esi + 4]
jmp 0x43605f
lea eax, [esi + 4]
cmp ecx, eax
je 0x436082
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x12c]
call fcn.00401cd0
push 0xffffffffffffffff
push ebx
push esi
lea ecx, [esp + 0x130]
call fcn.004022a0
cmp dword [esp + 0x70], edi
mov byte [esp + 0x34c], 4
jb 0x43609d
mov eax, dword [esp + 0x5c]
push eax
call fcn.0044b92d
add esp, 4
mov ecx, dword [esp + 0x138]
push ebx
push 0x462398
push ecx
push ebx
lea ecx, [esp + 0x134]
mov dword [esp + 0x80], 0xf
mov dword [esp + 0x7c], ebx
mov byte [esp + 0x6c], 0
call fcn.00401450
test eax, eax
jne 0x4360e9
lea ecx, [esp + 0x74]
mov dword [esp + 0x34c], 0xffffffff
call fcn.0040e790
jmp 0x436827
mov ecx, ebp
call fcn.0041d6a0
push str.Option
mov ecx, ebp
call fcn.0041e0f0
test al, al
je 0x4364ca
push str.Name
lea edx, [esp + 0x3c]
push edx
mov ecx, ebp
call fcn.00421720
lea eax, [esp + 0x1c]
push eax
mov ecx, ebp
mov byte [esp + 0x350], 6
call fcn.00421700
mov edx, dword [esp + 0x4c]
cmp edx, ebx
mov byte [esp + 0x34c], 7
je 0x436370
cmp edx, 4
mov ecx, edx
jb 0x436149
mov ecx, 4
cmp dword [esp + 0x50], 0x10
mov esi, dword [esp + 0x3c]
jae 0x436158
lea esi, [esp + 0x3c]
mov edi, str.Pass
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x436168
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x43629c
cmp edx, 4
jb 0x43629c
xor eax, eax
cmp edx, 4
setne al
cmp eax, ebx
jne 0x43629c
mov edx, dword [esp + 0x30]
cmp edx, ebx
je 0x4361b6
cmp dword [esp + 0x34], 0x10
mov esi, dword [esp + 0x20]
jae 0x4361a0
lea esi, [esp + 0x20]
xor ecx, ecx
mov edi, 0x462398
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4361b2
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4361c1
xor eax, eax
cmp edx, ebx
setne al
cmp eax, ebx
je 0x436240
cmp edx, 0x20
je 0x436240
cmp dword [esp + 0x34], 0x10
mov esi, dword [esp + 0x20]
jae 0x4361d5
lea esi, [esp + 0x20]
lea ecx, [esp + 0x184]
call fcn.004202e0
mov eax, esi
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4361e6
sub eax, ecx
push eax
push esi
lea ecx, [esp + 0x18c]
call fcn.00421090
lea ecx, [esp + 0x184]
call fcn.00421180
lea ecx, [esp + 0x184]
call fcn.004212c0
mov ecx, dword [ebp + 0x54]
push ebx
mov esi, eax
push esi
push ecx
mov ecx, ebp
call fcn.0041f130
lea edx, [esp + 0x140]
push esi
push edx
call fcn.00405580
push esi
call fcn.0044c004
add esp, 0xc
jmp 0x436430
mov ecx, dword [esp + 0x158]
mov eax, 0x10
cmp ecx, eax
mov ecx, dword [esp + 0x144]
jae 0x43625e
lea ecx, [esp + 0x144]
cmp dword [esp + 0x34], eax
mov eax, dword [esp + 0x20]
jae 0x43626c
lea eax, [esp + 0x20]
cmp ecx, eax
je 0x436430
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x148]
call fcn.00401cd0
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x14c]
call fcn.004022a0
jmp 0x436430
cmp edx, ebx
je 0x436370
cmp edx, 0x17
mov ecx, edx
jb 0x4362b0
mov ecx, 0x17
cmp dword [esp + 0x50], 0x10
mov esi, dword [esp + 0x3c]
jae 0x4362bf
lea esi, [esp + 0x3c]
mov edi, str.Bypass_server_userlimit
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4362cf
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x436308
cmp edx, 0x17
jb 0x436308
xor eax, eax
cmp edx, 0x17
setne al
cmp eax, ebx
jne 0x436308
cmp dword [esp + 0x34], 0x10
mov eax, dword [esp + 0x20]
jae 0x4362f3
lea eax, [esp + 0x20]
push eax
call fcn.0044c58a
add esp, 4
mov dword [esp + 0xa4], eax
jmp 0x436430
cmp edx, ebx
je 0x436370
cmp edx, 0xa
mov ecx, edx
jb 0x436318
mov ecx, 0xa
cmp dword [esp + 0x50], 0x10
mov esi, dword [esp + 0x3c]
jae 0x436327
lea esi, [esp + 0x3c]
mov edi, str.User_Limit
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x436337
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x436370
cmp edx, 0xa
jb 0x436370
xor eax, eax
cmp edx, 0xa
setne al
cmp eax, ebx
jne 0x436370
cmp dword [esp + 0x34], 0x10
mov eax, dword [esp + 0x20]
jae 0x43635b
lea eax, [esp + 0x20]
push eax
call fcn.0044c58a
add esp, 4
mov dword [esp + 0xa8], eax
jmp 0x436430
push 8
push str.IP_Limit
push edx
push ebx
lea ecx, [esp + 0x48]
call fcn.00401450
test eax, eax
jne 0x4363aa
cmp dword [esp + 0x34], 0x10
mov eax, dword [esp + 0x20]
jae 0x436395
lea eax, [esp + 0x20]
push eax
call fcn.0044c58a
add esp, 4
mov dword [esp + 0xac], eax
jmp 0x436430
mov ecx, dword [esp + 0x4c]
push 5
push str.Group
push ecx
push ebx
lea ecx, [esp + 0x48]
call fcn.00401450
test eax, eax
jne 0x4363ca
lea ecx, [esp + 0x78]
jmp 0x436426
mov eax, dword [esp + 0x4c]
push 7
push str.Enabled
push eax
push ebx
lea ecx, [esp + 0x48]
call fcn.00401450
test eax, eax
jne 0x436405
cmp dword [esp + 0x34], 0x10
mov eax, dword [esp + 0x20]
jae 0x4363f3
lea eax, [esp + 0x20]
push eax
call fcn.0044c58a
add esp, 4
mov dword [esp + 0xb0], eax
jmp 0x436430
mov ecx, dword [esp + 0x4c]
push 8
push 0x465de0
push ecx
push ebx
lea ecx, [esp + 0x48]
call fcn.00401450
test eax, eax
jne 0x436430
lea ecx, [esp + 0x104]
lea edx, [esp + 0x1c]
push edx
call fcn.004026b0
mov eax, dword [esp + 0xa8]
cmp eax, ebx
jl 0x436442
cmp eax, 0x3b9ac9ff
jle 0x436449
mov dword [esp + 0xa8], ebx
mov eax, dword [esp + 0xac]
cmp eax, ebx
jl 0x43645b
cmp eax, 0x3b9ac9ff
jle 0x436462
mov dword [esp + 0xac], ebx
mov eax, dword [esp + 0x34]
mov edi, 0x10
cmp eax, edi
jb 0x43647c
mov eax, dword [esp + 0x20]
push eax
call fcn.0044b92d
add esp, 4
cmp dword [esp + 0x50], edi
mov esi, 0xf
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], 0
mov byte [esp + 0x34c], 4
jb 0x4364a9
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.0044b92d
add esp, 4
push str.Option
mov ecx, ebp
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], 0
call fcn.0041e0f0
test al, al
jne 0x436104
mov edx, dword [esp + 0x8c]
push ebx
push 0x462398
push edx
push ebx
lea ecx, [esp + 0x88]
call fcn.00401450
test eax, eax
mov edi, dword [esp + 0x18]
je 0x43655d
mov esi, dword [edi + 0x18]
cmp esi, dword [edi + 0x1c]
je 0x436542
jmp 0x436500
cmp dword [esp + 0x90], 0x10
mov eax, dword [esp + 0x7c]
jae 0x436512
lea eax, [esp + 0x7c]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esi + 0x18]
push ecx
push eax
push edx
push ebx
lea ecx, [esi + 4]
call fcn.00401450
test eax, eax
je 0x43653b
mov eax, dword [edi + 0x1c]
add esi, 0xb0
cmp esi, eax
jne 0x436500
jmp 0x436542
mov dword [esp + 0x120], esi
cmp dword [esp + 0x120], ebx
jne 0x43655d
lea eax, [esp + 0x78]
push 0x462398
push eax
call fcn.00405580
add esp, 8
lea ecx, [esp + 0x74]
push ecx
push ebp
mov ecx, edi
call fcn.00429910
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x78]
push eax
push ebp
mov ecx, edi
mov dword [esp + 0x20], ebx
call fcn.0042e6b0
lea ecx, [esp + 0x74]
call fcn.0042d4f0
cmp dword [esp + 0x14], ebx
mov esi, dword [esp + 0x98]
jne 0x4365d1
cmp dword [esp + 0x120], ebx
jne 0x4365d1
cmp esi, ebx
je 0x4365d1
mov ecx, dword [esp + 0x9c]
sub ecx, esi
mov eax, 0x66666667
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0x54], ecx
je 0x4365d1
mov dword [esi + 0x48], 1
mov esi, dword [esp + 0x98]
mov eax, dword [esp + 0x9c]
cmp esi, eax
mov edi, esi
je 0x43669c
cmp dword [edi + 0x48], ebx
jne 0x4365f3
add edi, 0x50
cmp edi, eax
jne 0x4365e2
jmp 0x43669c
mov ebp, dword [esp + 0x174]
cmp ebp, 0x10
mov ebx, dword [esp + 0x160]
mov ecx, ebx
jae 0x43660f
lea ecx, [esp + 0x160]
cmp dword [edi + 0x18], 0x10
jb 0x43661a
mov eax, dword [edi + 4]
jmp 0x43661d
lea eax, [edi + 4]
cmp ecx, eax
je 0x4366aa
mov eax, dword [esp + 0x170]
or esi, 0xffffffff
cmp eax, 0xffffffff
jae 0x43663a
mov esi, eax
test esi, esi
jbe 0x43668b
cmp ebp, 0x10
mov edx, ebx
jae 0x436723
lea edx, [esp + 0x160]
mov ecx, edx
sub eax, esi
push eax
add edx, esi
push edx
push ecx
call fcn.0044b5f0
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x180]
sub eax, esi
add esp, 0xc
cmp ecx, 0x10
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x170], eax
jae 0x436687
lea ecx, [esp + 0x160]
mov byte [eax + ecx], 0
push 0xffffffffffffffff
push 0
push edi
lea ecx, [esp + 0x168]
call fcn.004022a0
mov ebx, dword [esp + 0x160]
mov ebp, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
test eax, eax
je 0x4366dd
cmp ebp, 0x10
mov esi, ebx
jae 0x4366c3
lea esi, [esp + 0x160]
xor ecx, ecx
mov edi, 0x462398
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4366d5
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
jne 0x4367bb
xor edx, edx
test eax, eax
setne dl
test edx, edx
jne 0x4367bb
mov ecx, dword [esp + 0x120]
test ecx, ecx
je 0x4367bb
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
cmp edi, ecx
je 0x4367bb
lea esp, [esp]
mov edx, dword [edi + 0x48]
test edx, edx
jne 0x43672a
add edi, 0x50
cmp edi, ecx
jne 0x436710
jmp 0x4367bb
mov ecx, ebx
jmp 0x43664e
cmp ebp, 0x10
mov edx, ebx
jae 0x436738
lea edx, [esp + 0x160]
cmp dword [edi + 0x18], 0x10
jb 0x436743
mov ecx, dword [edi + 4]
jmp 0x436746
lea ecx, [edi + 4]
cmp edx, ecx
je 0x4367bb
or esi, 0xffffffff
cmp eax, 0xffffffff
jae 0x436758
mov esi, eax
test esi, esi
jbe 0x4367aa
cmp ebp, 0x10
mov edx, ebx
jae 0x4369e8
lea edx, [esp + 0x160]
mov ecx, edx
sub eax, esi
push eax
lea eax, [esi + edx]
push eax
push ecx
call fcn.0044b5f0
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x180]
sub eax, esi
add esp, 0xc
cmp ecx, 0x10
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x170], eax
jae 0x4367a6
lea ecx, [esp + 0x160]
mov byte [eax + ecx], 0
push 0xffffffffffffffff
push 0
push edi
lea ecx, [esp + 0x168]
call fcn.004022a0
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x74]
push ecx
push esi
mov ecx, edi
call fcn.0042a020
mov eax, dword [edi + 8]
test eax, eax
lea ecx, [edi + 4]
je 0x4367f7
mov edx, dword [ecx + 8]
sub edx, eax
mov eax, 0x78787879
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0x4e20
jae 0x436801
lea edx, [esp + 0x74]
push edx
call fcn.004349e0
mov ecx, esi
call fcn.0041dc20
lea ecx, [esp + 0x74]
mov dword [esp + 0x34c], 0xffffffff
call fcn.0040e790
mov ebp, dword [esp + 0x10]
xor ebx, ebx
mov edi, 0x10
push str.User
mov ecx, ebp
call fcn.0041e0f0
test al, al
jne 0x435ff3
push ebp
call fcn.004214e0
add esp, 4
mov ecx, 0x474ad8
call fcn.004411c0
mov esi, dword [0x474b08]
cmp esi, ebx
je 0x436882
mov edi, dword [0x474b0c]
cmp esi, edi
je 0x436879
mov ecx, esi
call fcn.00403cf0
add esi, 0xb0
cmp esi, edi
jne 0x436862
mov esi, dword [0x474b08]
push esi
call fcn.0044b92d
add esp, 4
mov edi, dword [esp + 0x18]
mov dword [0x474b08], ebx
mov dword [0x474b0c], ebx
mov dword [0x474b10], ebx
mov esi, dword [edi + 0x18]
cmp esi, dword [edi + 0x1c]
je 0x4368b8
push esi
mov ecx, 0x474b04
call fcn.00434500
mov eax, dword [edi + 0x1c]
add esi, 0xb0
cmp esi, eax
jne 0x4368a0
mov esi, dword [0x474af8]
cmp esi, ebx
je 0x4368f4
mov edi, dword [0x474afc]
cmp esi, edi
je 0x4368e7
lea esp, [esp]
mov ecx, esi
call fcn.0040e790
add esi, 0x110
cmp esi, edi
jne 0x4368d0
mov esi, dword [0x474af8]
push esi
call fcn.0044b92d
mov edi, dword [esp + 0x1c]
add esp, 4
mov dword [0x474af8], ebx
mov dword [0x474afc], ebx
mov dword [0x474b00], ebx
mov ebp, dword [edi + 8]
cmp ebp, dword [edi + 0xc]
mov dword [esp + 0x14], ebp
je 0x436a7e
jmp 0x436920
push ebp
lea ecx, [esp + 0x238]
call fcn.0042f450
mov ebx, dword [esp + 0x24c]
cmp ebx, ebx
mov dword [esp + 0x34c], 8
mov dword [esp + 0x2e0], 0
mov edx, ebx
jae 0x436950
test edx, edx
je 0x436982
cmp dword [esp + 0x250], 0x10
mov esi, dword [esp + 0x23c]
jae 0x43696c
lea esi, [esp + 0x23c]
xor ecx, ecx
mov edi, 0x462398
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x43697e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x436991
xor eax, eax
test edx, edx
setne al
test eax, eax
je 0x436a3c
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x54], ecx
je 0x436a3c
mov ebp, eax
add ebp, 0x18
cmp dword [esp + 0x250], 0x10
mov edi, dword [esp + 0x23c]
jae 0x4369c8
lea edi, [esp + 0x23c]
mov edx, dword [ebp]
mov eax, edx
cmp eax, edx
jae 0x4369d1
test edx, edx
je 0x436a01
cmp edx, ebx
mov ecx, edx
jb 0x4369dd
mov ecx, ebx
cmp dword [ebp + 4], 0x10
jb 0x4369ef
mov esi, dword [ebp - 0x10]
jmp 0x4369f2
mov ecx, ebx
jmp 0x43676c
lea esi, [ebp - 0x10]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4369fd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x436a10
cmp edx, ebx
jb 0x436a10
xor eax, eax
cmp edx, ebx
setne al
test eax, eax
je 0x436a2d
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x54]
add eax, 0xb0
add ebp, 0xb0
cmp eax, ecx
mov dword [esp + 0x10], eax
jne 0x4369b0
jmp 0x436a38
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2e0], eax
mov ebp, dword [esp + 0x14]
lea ecx, [esp + 0x234]
push ecx
mov ecx, 0x474af4
call fcn.004349e0
lea ecx, [esp + 0x234]
mov dword [esp + 0x34c], 0xffffffff
call fcn.0040e790
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0xc]
add ebp, 0x110
cmp ebp, eax
mov dword [esp + 0x14], ebp
jne 0x436920
mov ecx, 0x474ad8
call fcn.004411d0
pop edi
pop esi
mov ecx, dword [esp + 0x33c]
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x340
ret