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

Disassembly:
test dword [0x7eeab0], 0xffffff80
jne 0x55719c
test dword [0x7eeab0], 0xffffffff
jne 0x557bf4
call fcn.006a7b4c
jmp fcn.00557174
push esi
push ebp
push ebx
push ecx
mov eax, 0x3c
call fcn.00697340
mov ecx, dword [esp + 0x3c]
mov ebx, ecx
movzx eax, byte [ebx + 0xb3]
test al, 1
jne 0x5571db
test al, 2
jne 0x5571db
mov eax, dword [ebx + 0x59]
cmp eax, 0xfffffff3
je 0x5571db
cmp eax, 0xffffffd8
je 0x5571db
cmp eax, 0xffffffd9
je 0x5571db
cmp eax, 0xffffffe0
je 0x5571db
call fcn.00416f70
or byte [ebx + 0xb4], 0x40
mov eax, 1
mov word [ebx + 0x3d], ax
mov edx, dword [0x6d2394]
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ebx
lea ebp, [esp + 0x34]
push ebp
push 0x55864c
mov ecx, dword [ebx + 0x39]
call fcn.004efc4c
mov ecx, dword [ebx + 0x59]
add ecx, 0x28
cmp ecx, 0x20
jae 0x5572c5
mov eax, 1
shl eax, cl
test eax, 0x8000103
je 0x5572c5
mov eax, dword [ebx + 0xf]
test eax, eax
je 0x55724c
movzx eax, byte [eax + 0xa]
and eax, 0x3f
cmp eax, 0xd
je 0x557971
cmp eax, 0x13
je 0x557971
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 6]
call fcn.00541584
mov ebp, eax
test ebp, ebp
je 0x557338
movzx eax, word [ebp]
movzx edx, word [0x7bd0ac]
cmp eax, edx
je 0x5572a8
movzx edx, word [0x7bd0bc]
cmp eax, edx
je 0x5572a8
movzx edx, word [0x7bd0c0]
cmp eax, edx
je 0x5572a8
movzx edx, word [0x7bd0b0]
cmp eax, edx
je 0x5572a8
movzx edx, word [0x7bd0c4]
cmp eax, edx
je 0x5572a8
movzx edx, word [0x7bd110]
cmp eax, edx
jne 0x5572bc
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x55795f
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x557262
jmp 0x557338
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.00541584
mov ebp, eax
test ebp, ebp
je 0x557338
movzx eax, word [ebp]
movzx edx, word [0x7bd0ac]
cmp eax, edx
je 0x55731d
movzx edx, word [0x7bd0bc]
cmp eax, edx
je 0x55731d
movzx edx, word [0x7bd0c0]
cmp eax, edx
je 0x55731d
movzx edx, word [0x7bd0b0]
cmp eax, edx
je 0x55731d
movzx edx, word [0x7bd0c4]
cmp eax, edx
je 0x55731d
movzx edx, word [0x7bd110]
cmp eax, edx
jne 0x557331
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x557bdf
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x5572d7
movsx ecx, word [esp + 0x38]
mov word [ebx + 0x3d], cx
cmp ecx, 1
jg 0x557bc8
shl ecx, 2
call fcn.004dbdb8
mov dword [ebx + 0x97], eax
movsx ecx, word [ebx + 0x3d]
shl ecx, 2
call fcn.004dbdb8
mov dword [ebx + 0x9b], eax
mov ecx, dword [ebx + 0xf]
test ecx, ecx
je 0x557394
movsx eax, word [ebx + 0x13]
shl eax, 4
mov edx, dword [0x7e4564]
cmp dword [eax + edx], 0
je 0x557394
movzx eax, byte [ecx + 0xa]
and eax, 0x3f
cmp eax, 0xb
je 0x5579f8
movzx eax, byte [ebx + 0xb3]
test al, 0x20
je 0x5573b1
mov ecx, dword [ebx + 0x5f]
call fcn.005a7108
mov ecx, dword [ebx + 0x5f]
call fcn.005a7184
jmp 0x5573bb
push 1
mov ecx, dword [ebx + 0x5f]
call fcn.005a70dc
mov esi, eax
mov ecx, dword [ebx + 0x63]
call fcn.005a6ebc
mov ebp, eax
mov ecx, dword [ebx + 0x67]
call fcn.005a6d38
push 0
push eax
push ebp
push esi
mov ecx, ebx
call fcn.004f7718
push 1
mov ecx, dword [ebx + 0x6f]
call fcn.005a7084
mov byte [ebx + 0x16], al
push 1
mov ecx, dword [ebx + 0x73]
call fcn.005a7058
mov byte [ebx + 0x15], al
movzx eax, byte [ebx + 0xb3]
test al, 2
je 0x557405
mov eax, dword [ebx + 0x31]
jmp 0x557473
test al, 1
jne 0x557400
test al, 4
jne 0x557400
mov ecx, dword [ebx + 0x31]
test ecx, ecx
je 0x557a43
cmp dword [ebx + 0xa7], 0
je 0x557438
mov eax, dword [ecx]
call dword [eax + 0x78]
mov ecx, dword [ebx + 0xa7]
cmp eax, ecx
je 0x557459
test ecx, ecx
jne 0x557a2b
mov ecx, 0x4a
call fcn.004dbdb8
test eax, eax
je 0x557452
push ebx
push 0
mov ecx, eax
call fcn.0051dcf4
jmp 0x557454
xor eax, eax
mov dword [ebx + 0x31], eax
jmp 0x557473
mov ecx, dword [ebx + 0x31]
mov edx, dword [ecx]
movzx eax, byte [ebx + 9]
and eax, 8
shr eax, 3
push eax
push ebx
call dword [edx + 0xb0]
mov dword [ebx + 0x31], eax
test eax, eax
je 0x557ba4
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x78]
cmp eax, 1
je 0x557b85
mov eax, dword [ebx + 0x67]
cmp ebx, dword [eax + 0xf]
je 0x557b32
mov ecx, dword [ebx + 0x59]
add ecx, 0x28
cmp ecx, 0x20
jae 0x557512
mov eax, 1
shl eax, cl
test eax, 0x8000103
je 0x557512
mov eax, dword [ebx + 0xf]
test eax, eax
je 0x5574d0
movzx eax, byte [eax + 0xa]
and eax, 0x3f
cmp eax, 0xd
je 0x557a60
cmp eax, 0x13
je 0x557a60
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 6]
call fcn.00541584
mov ebp, eax
test ebp, ebp
je 0x557552
movzx edx, word [ebp]
movzx eax, word [0x7bd0ac]
cmp edx, eax
je 0x557509
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x557509
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x557a4e
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x5574e2
jmp 0x557552
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.00541584
mov ebp, eax
test ebp, ebp
je 0x557552
movzx edx, word [ebp]
movzx eax, word [0x7bd0ac]
cmp edx, eax
je 0x55754b
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x55754b
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x557ab4
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x557524
movzx eax, byte [ebx + 9]
test al, 8
jne 0x557787
mov ecx, dword [ebx + 0xf]
test ecx, ecx
je 0x557787
xor edx, edx
call fcn.004f6b24
mov ebp, eax
test ebp, ebp
je 0x557787
mov ecx, dword [ebx + 0x59]
add ecx, 0x28
cmp ecx, 0x20
jae 0x55766d
mov eax, 1
shl eax, cl
test eax, 0x8000103
je 0x55766d
mov edx, dword [ebp + 0x8f]
test edx, edx
je 0x5575cc
mov ecx, dword [ebx + 0x8f]
test ecx, ecx
je 0x557acf
push 1
push edx
call fcn.00564a4c
mov ecx, dword [ebx + 0x8f]
call fcn.0056eb28
mov dword [ebx + 0x93], eax
mov eax, dword [ebp + 0x97]
test eax, eax
je 0x557787
movsx edx, word [ebp + 0x3d]
movsx ecx, word [ebx + 0x3d]
cmp edx, ecx
cmovl ecx, edx
test ecx, ecx
jle 0x557787
xor esi, esi
mov dword [esp], ecx
mov dword [esp + 0x2c], edi
jmp 0x557600
mov eax, dword [ebp + 0x97]
mov edi, esi
shl edi, 2
cmp dword [eax + edi], 0
je 0x557660
mov ecx, 0x4e
call fcn.004dbdb8
test eax, eax
je 0x557623
push ebx
mov ecx, eax
call fcn.00564bdc
jmp 0x557625
xor eax, eax
mov edx, dword [ebx + 0x97]
mov dword [edx + edi], eax
inc esi
mov edx, dword [ebx + 0x97]
mov eax, dword [ebp + 0x97]
push esi
push dword [eax + edi]
mov ecx, dword [edx + edi]
call fcn.00564a4c
mov eax, dword [ebx + 0x97]
mov ecx, dword [eax + edi]
call fcn.0056eb28
mov edx, dword [ebx + 0x9b]
mov dword [edx + edi], eax
jmp 0x557661
inc esi
mov eax, dword [esp]
cmp esi, eax
jl 0x5575fa
jmp 0x557ac6
movzx eax, byte [ebx + 0xb3]
test al, 0x20
je 0x5576e6
mov edx, dword [ebp + 0xf]
test edx, edx
je 0x55768f
movzx eax, byte [edx + 0xa]
and eax, 0x3f
cmp eax, 6
je 0x557afc
mov eax, 1
movsx esi, word [ebp + 0x3d]
cmp esi, eax
jl 0x55769e
mov esi, eax
mov edx, dword [ebp + 0x97]
test edx, edx
je 0x557787
cmp dword [edx + esi*4 - 4], 0
je 0x557787
mov ecx, dword [ebx + 0x8f]
test ecx, ecx
je 0x557b05
push 1
push dword [edx + esi*4 - 4]
call fcn.00564a4c
mov ecx, dword [ebx + 0x8f]
call fcn.0056eb28
mov dword [ebx + 0x93], eax
jmp 0x557787
mov eax, dword [ebp + 0x97]
test eax, eax
je 0x557787
movsx edx, word [ebp + 0x3d]
movsx ecx, word [ebx + 0x3d]
cmp edx, ecx
cmovl ecx, edx
test ecx, ecx
jle 0x557787
xor esi, esi
mov dword [esp], ecx
mov dword [esp + 0x2c], edi
jmp 0x55771a
mov eax, dword [ebp + 0x97]
mov edi, esi
shl edi, 2
cmp dword [eax + edi], 0
je 0x55777a
mov ecx, 0x4e
call fcn.004dbdb8
test eax, eax
je 0x55773d
push ebx
mov ecx, eax
call fcn.00564bdc
jmp 0x55773f
xor eax, eax
mov edx, dword [ebx + 0x97]
mov dword [edx + edi], eax
inc esi
mov edx, dword [ebx + 0x97]
mov eax, dword [ebp + 0x97]
push esi
push dword [eax + edi]
mov ecx, dword [edx + edi]
call fcn.00564a4c
mov eax, dword [ebx + 0x97]
mov ecx, dword [eax + edi]
call fcn.0056eb28
mov edx, dword [ebx + 0x9b]
mov dword [edx + edi], eax
jmp 0x55777b
inc esi
mov eax, dword [esp]
cmp esi, eax
jl 0x557714
jmp 0x557ac6
movsx eax, word [ebx + 0x13]
shl eax, 4
mov edx, dword [0x7e4564]
mov esi, dword [eax + edx]
mov ecx, dword [ebx + 0x63]
call fcn.005a6ebc
mov ebp, eax
mov ecx, dword [ebx + 0x67]
call fcn.005a6d38
mov edx, dword [ebx + 0x9b]
push dword [edx]
push eax
push ebp
push esi
mov ecx, ebx
call fcn.004f7718
push 1
mov ecx, dword [ebx + 0x6f]
call fcn.005a7084
mov byte [ebx + 0x16], al
push 1
mov ecx, dword [ebx + 0x73]
call fcn.005a7058
mov byte [ebx + 0x15], al
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x5f]
call fcn.004f7b54
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x63]
call fcn.004f7b54
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x67]
call fcn.004f7b54
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x6f]
call fcn.004f7b54
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x73]
call fcn.004f7b54
xor eax, eax
mov word [esp + 0x3c], ax
mov edx, dword [ebx + 0x29]
movzx ecx, word [edx + 0x18]
test ecx, ecx
jne 0x55782c
xor edx, edx
jmp 0x557866
call fcn.0053e928
mov dword [esp + 0x30], eax
lea esi, [esp + 0x3c]
mov eax, dword [ebx + 0x29]
movzx ebp, word [eax + 0x18]
lea edx, [ebp*8]
push dword [edx + ebp*4 + 0x701828]
push esi
lea ecx, [esp + 0x38]
call fcn.0053f884
mov ecx, dword [esp + 0x30]
call fcn.0053e920
movzx edx, word [esp + 0x3c]
test edx, edx
je 0x5578e8
movzx eax, byte [ebx + 0xb3]
test al, 2
jne 0x5578e8
test al, 1
jne 0x5578e8
mov eax, dword [ebx + 0x59]
add eax, 0x27
cmp eax, 0x23
ja case.0x55788f.38
mov eax, dword [eax*4 + 0x6d2300]
jmp eax
mov ecx, 1
jmp 0x5578af
mov ecx, 2
jmp 0x5578af
mov ecx, 4
jmp 0x5578af
mov ecx, 8
jmp 0x5578af
xor ecx, ecx
push ebx
call fcn.004210d0
test eax, eax
jne 0x5578e8
lea ecx, [esp]
call fcn.00524474
xor eax, eax
push eax
push eax
push str.No_Access_nAllowed_
push 3
lea ecx, [esp + 0x10]
call fcn.0052392c
and byte [ebx + 0xb4], 0xbf
mov eax, 1
add esp, 0x40
pop ebx
pop ebp
pop esi
ret
mov ecx, dword [ebx + 0x2d]
call fcn.004db4f8
mov dword [ebx + 0x2d], 0
mov eax, dword [ebx + 0x29]
movzx edx, word [eax + 0xa]
test edx, edx
jne 0x557920
lea ebp, [ebx + 0x2d]
movzx esi, word [ebx + 0x1f]
lea eax, [esi*8]
mov ecx, ebp
mov edx, dword [eax + esi*4 + 0x701828]
call fcn.004f5c14
jmp 0x55794f
call fcn.0053e928
mov dword [esp], eax
lea ebp, [ebx + 0x2d]
mov eax, dword [ebx + 0x29]
movzx edx, word [eax + 0xa]
push 1
push ebx
push ebx
push edx
push ebp
lea ecx, [esp + 0x14]
call fcn.0053f680
mov ecx, dword [esp]
call fcn.0053e920
cmp dword [ebx + 0x2d], 0
je 0x557905
and byte [ebx + 0xb4], 0xbf
xor eax, eax
add esp, 0x40
pop ebx
pop ebp
pop esi
ret
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506d24
jmp 0x5572bc
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.00541584
mov ebp, eax
test ebp, ebp
je 0x55724c
movzx eax, word [ebp]
movzx edx, word [0x7bd0ac]
cmp eax, edx
je 0x5579cd
movzx edx, word [0x7bd0bc]
cmp eax, edx
je 0x5579cd
movzx edx, word [0x7bd0c0]
cmp eax, edx
je 0x5579cd
movzx edx, word [0x7bd0b0]
cmp eax, edx
je 0x5579cd
movzx edx, word [0x7bd0c4]
cmp eax, edx
je 0x5579cd
movzx edx, word [0x7bd110]
cmp eax, edx
jne 0x5579dd
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x5579e9
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x557987
jmp 0x55724c
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506d24
jmp 0x5579dd
mov eax, dword [ecx]
call dword [eax + 0x78]
cmp eax, 1
jne 0x557394
movsx eax, word [ebx + 0x13]
shl eax, 4
mov edx, dword [0x7e4564]
mov ecx, dword [eax + edx]
call fcn.00416f40
push 1
push eax
mov ecx, dword [ebx + 0x5f]
call fcn.00502bec
jmp 0x557394
movzx edx, byte [ebx + 9]
and edx, 8
shr edx, 3
push ebx
call fcn.00434b50
mov dword [ebx + 0x31], eax
jmp 0x557473
mov ecx, dword [ebx + 0xa7]
jmp 0x557430
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506d24
jmp 0x557509
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.00541584
mov ebp, eax
test ebp, ebp
je 0x5574d0
movzx edx, word [ebp]
movzx eax, word [0x7bd0ac]
cmp edx, eax
je 0x557a99
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x557a99
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x557aa5
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x557a76
jmp 0x5574d0
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506d24
jmp 0x557a99
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506d24
jmp 0x55754b
mov edi, dword [esp + 0x2c]
jmp 0x557787
mov ecx, 0x4e
call fcn.004dbdb8
test eax, eax
je 0x557ae9
push ebx
mov ecx, eax
call fcn.00564bdc
mov ecx, eax
jmp 0x557aeb
xor ecx, ecx
mov dword [ebx + 0x8f], ecx
mov edx, dword [ebp + 0x8f]
jmp 0x5575b3
movsx eax, word [edx + 0x59]
jmp 0x557694
mov ecx, 0x4e
call fcn.004dbdb8
test eax, eax
je 0x557b1f
push ebx
mov ecx, eax
call fcn.00564bdc
mov ecx, eax
jmp 0x557b21
xor ecx, ecx
mov dword [ebx + 0x8f], ecx
mov edx, dword [ebp + 0x97]
jmp 0x5576c5
mov eax, dword [ebx + 0xf]
test eax, eax
je 0x557497
movzx eax, byte [eax + 0xa]
and eax, 0x3f
cmp eax, 0xd
jne 0x557b7b
push 8
lea ecx, [esp + 0x24]
call fcn.0050ab48
mov ebp, dword [ebx + 0x67]
lea eax, [esp + 0x20]
push 0
push eax
mov ecx, ebp
call fcn.00506790
push eax
mov ecx, ebp
call fcn.004f7998
lea ecx, [esp + 0x20]
call fcn.0050ac00
jmp 0x557497
cmp eax, 0x13
je 0x557b49
jmp 0x557497
mov eax, dword [ebx + 0x31]
movsx edx, word [eax + 0x13]
shl edx, 4
mov ebp, dword [0x7e4564]
push dword [edx + ebp]
mov ecx, ebx
call fcn.004f76e8
jmp 0x55748b
mov ecx, 0x4a
call fcn.004dbdb8
test eax, eax
je 0x557bbe
push ebx
push 0
mov ecx, eax
call fcn.0051dcf4
jmp 0x557bc0
xor eax, eax
mov dword [ebx + 0x31], eax
jmp 0x55747b
push ebx
push 0x558668
mov ecx, dword [ebx + 0x39]
call fcn.004efc4c
movsx ecx, word [ebx + 0x3d]
jmp 0x55734a
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506d24
jmp 0x557331
push esi
push ebp
push ebx
push ecx
mov eax, 0x3c
call fcn.00697340
mov ecx, dword [esp + 0x3c]
mov ebx, ecx
movzx eax, byte [ebx + 0xb3]
test al, 1
jne 0x557c33
test al, 2
jne 0x557c33
mov eax, dword [ebx + 0x59]
cmp eax, 0xfffffff3
je 0x557c33
cmp eax, 0xffffffd8
je 0x557c33
cmp eax, 0xffffffd9
je 0x557c33
cmp eax, 0xffffffe0
je 0x557c33
call fcn.00416f70
or byte [ebx + 0xb4], 0x40
mov eax, 1
mov word [ebx + 0x3d], ax
mov edx, dword [0x6d2434]
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ebx
lea ebp, [esp + 0x34]
push ebp
push 0x55864c
mov ecx, dword [ebx + 0x39]
call fcn.004efc4c
mov ecx, dword [ebx + 0x59]
add ecx, 0x28
cmp ecx, 0x20
jae 0x557d1d
mov eax, 1
shl eax, cl
test eax, 0x8000103
je 0x557d1d
mov eax, dword [ebx + 0xf]
test eax, eax
je 0x557ca4
movzx eax, byte [eax + 0xa]
and eax, 0x3f
cmp eax, 0xd
je 0x5583cb
cmp eax, 0x13
je 0x5583cb
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 6]
call fcn.00541584
mov ebp, eax
test ebp, ebp
je 0x557d90
movzx eax, word [ebp]
movzx edx, word [0x7bd0ac]
cmp eax, edx
je 0x557d00
movzx edx, word [0x7bd0bc]
cmp eax, edx
je 0x557d00
movzx edx, word [0x7bd0c0]
cmp eax, edx
je 0x557d00
movzx edx, word [0x7bd0b0]
cmp eax, edx
je 0x557d00
movzx edx, word [0x7bd0c4]
cmp eax, edx
je 0x557d00
movzx edx, word [0x7bd110]
cmp eax, edx
jne 0x557d14
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x5583b9
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x557cba
jmp 0x557d90
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.00541584
mov ebp, eax
test ebp, ebp
je 0x557d90
movzx eax, word [ebp]
movzx edx, word [0x7bd0ac]
cmp eax, edx
je 0x557d75
movzx edx, word [0x7bd0bc]
cmp eax, edx
je 0x557d75
movzx edx, word [0x7bd0c0]
cmp eax, edx
je 0x557d75
movzx edx, word [0x7bd0b0]
cmp eax, edx
je 0x557d75
movzx edx, word [0x7bd0c4]
cmp eax, edx
je 0x557d75
movzx edx, word [0x7bd110]
cmp eax, edx
jne 0x557d89
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x558639
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x557d2f
movsx ecx, word [esp + 0x38]
mov word [ebx + 0x3d], cx
cmp ecx, 1
jg 0x558622
shl ecx, 2
call fcn.004dbdb8
mov dword [ebx + 0x97], eax
movsx ecx, word [ebx + 0x3d]
shl ecx, 2
call fcn.004dbdb8
mov dword [ebx + 0x9b], eax
mov ecx, dword [ebx + 0xf]
test ecx, ecx
je 0x557dec
movsx eax, word [ebx + 0x13]
shl eax, 4
mov edx, dword [0x7e4564]
cmp dword [eax + edx], 0
je 0x557dec
movzx eax, byte [ecx + 0xa]
and eax, 0x3f
cmp eax, 0xb
je 0x558452
movzx eax, byte [ebx + 0xb3]
test al, 0x20
je 0x557e09
mov ecx, dword [ebx + 0x5f]
call fcn.005a7108
mov ecx, dword [ebx + 0x5f]
call fcn.005a7184
jmp 0x557e13
push 1
mov ecx, dword [ebx + 0x5f]
call fcn.005a70dc
mov esi, eax
mov ecx, dword [ebx + 0x63]
call fcn.005a6ebc
mov ebp, eax
mov ecx, dword [ebx + 0x67]
call fcn.005a6d38
push 0
push eax
push ebp
push esi
mov ecx, ebx
call fcn.004f7718
push 1
mov ecx, dword [ebx + 0x6f]
call fcn.005a7084
mov byte [ebx + 0x16], al
push 1
mov ecx, dword [ebx + 0x73]
call fcn.005a7058
mov byte [ebx + 0x15], al
movzx eax, byte [ebx + 0xb3]
test al, 2
je 0x557e5d
mov eax, dword [ebx + 0x31]
jmp 0x557ecb
test al, 1
jne 0x557e58
test al, 4
jne 0x557e58
mov ecx, dword [ebx + 0x31]
test ecx, ecx
je 0x55849d
cmp dword [ebx + 0xa7], 0
je 0x557e90
mov eax, dword [ecx]
call dword [eax + 0x78]
mov ecx, dword [ebx + 0xa7]
cmp eax, ecx
je 0x557eb1
test ecx, ecx
jne 0x558485
mov ecx, 0x4a
call fcn.004dbdb8
test eax, eax
je 0x557eaa
push ebx
push 0
mov ecx, eax
call fcn.0051dcf4
jmp 0x557eac
xor eax, eax
mov dword [ebx + 0x31], eax
jmp 0x557ecb
mov ecx, dword [ebx + 0x31]
movzx eax, byte [ebx + 9]
and eax, 8
shr eax, 3
mov edx, dword [ecx]
push eax
push ebx
call dword [edx + 0xb0]
mov dword [ebx + 0x31], eax
test eax, eax
je 0x5585fe
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x78]
cmp eax, 1
je 0x5585df
mov eax, dword [ebx + 0x67]
cmp ebx, dword [eax + 0xf]
je 0x55858c
mov ecx, dword [ebx + 0x59]
add ecx, 0x28
cmp ecx, 0x20
jae 0x557f6a
mov eax, 1
shl eax, cl
test eax, 0x8000103
je 0x557f6a
mov eax, dword [ebx + 0xf]
test eax, eax
je 0x557f28
movzx eax, byte [eax + 0xa]
and eax, 0x3f
cmp eax, 0xd
je 0x5584ba
cmp eax, 0x13
je 0x5584ba
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 6]
call fcn.00541584
mov ebp, eax
test ebp, ebp
je 0x557faa
movzx edx, word [ebp]
movzx eax, word [0x7bd0ac]
cmp edx, eax
je 0x557f61
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x557f61
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x5584a8
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x557f3a
jmp 0x557faa
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.00541584
mov ebp, eax
test ebp, ebp
je 0x557faa
movzx edx, word [ebp]
movzx eax, word [0x7bd0ac]
cmp edx, eax
je 0x557fa3
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x557fa3
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x55850e
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x557f7c
movzx eax, byte [ebx + 9]
test al, 8
jne 0x5581e1
mov ecx, dword [ebx + 0xf]
test ecx, ecx
je 0x5581e1
xor edx, edx
call fcn.004f6b24
mov ebp, eax
test ebp, ebp
je 0x5581e1
mov ecx, dword [ebx + 0x59]
add ecx, 0x28
cmp ecx, 0x20
jae 0x5580c6
mov eax, 1
shl eax, cl
test eax, 0x8000103
je 0x5580c6
mov edx, dword [ebp + 0x8f]
test edx, edx
je 0x558024
mov ecx, dword [ebx + 0x8f]
test ecx, ecx
je 0x558529
push 1
push edx
call fcn.00564a4c
mov ecx, dword [ebx + 0x8f]
call fcn.0056eb28
mov dword [ebx + 0x93], eax
mov eax, dword [ebp + 0x97]
test eax, eax
je 0x5581e1
movsx ecx, word [ebp + 0x3d]
movsx edx, word [ebx + 0x3d]
cmp ecx, edx
jl 0x558040
mov ecx, edx
test ecx, ecx
jle 0x5581e1
xor esi, esi
mov dword [esp], ecx
mov dword [esp + 0x2c], edi
jmp 0x558059
mov eax, dword [ebp + 0x97]
mov edi, esi
shl edi, 2
cmp dword [eax + edi], 0
je 0x5580b9
mov ecx, 0x4e
call fcn.004dbdb8
test eax, eax
je 0x55807c
push ebx
mov ecx, eax
call fcn.00564bdc
jmp 0x55807e
xor eax, eax
mov edx, dword [ebx + 0x97]
mov dword [edx + edi], eax
inc esi
mov edx, dword [ebx + 0x97]
mov eax, dword [ebp + 0x97]
push esi
push dword [eax + edi]
mov ecx, dword [edx + edi]
call fcn.00564a4c
mov eax, dword [ebx + 0x97]
mov ecx, dword [eax + edi]
call fcn.0056eb28
mov edx, dword [ebx + 0x9b]
mov dword [edx + edi], eax
jmp 0x5580ba
inc esi
mov eax, dword [esp]
cmp esi, eax
jl 0x558053
jmp 0x558520
movzx eax, byte [ebx + 0xb3]
test al, 0x20
je 0x55813f
mov edx, dword [ebp + 0xf]
test edx, edx
je 0x5580e8
movzx eax, byte [edx + 0xa]
and eax, 0x3f
cmp eax, 6
je 0x558556
mov eax, 1
movsx esi, word [ebp + 0x3d]
cmp esi, eax
jl 0x5580f7
mov esi, eax
mov edx, dword [ebp + 0x97]
test edx, edx
je 0x5581e1
cmp dword [edx + esi*4 - 4], 0
je 0x5581e1
mov ecx, dword [ebx + 0x8f]
test ecx, ecx
je 0x55855f
push 1
push dword [edx + esi*4 - 4]
call fcn.00564a4c
mov ecx, dword [ebx + 0x8f]
call fcn.0056eb28
mov dword [ebx + 0x93], eax
jmp 0x5581e1
mov eax, dword [ebp + 0x97]
test eax, eax
je 0x5581e1
movsx ecx, word [ebp + 0x3d]
movsx edx, word [ebx + 0x3d]
cmp ecx, edx
jl 0x55815b
mov ecx, edx
test ecx, ecx
jle 0x5581e1
xor esi, esi
mov dword [esp], ecx
mov dword [esp + 0x2c], edi
jmp 0x558174
mov eax, dword [ebp + 0x97]
mov edi, esi
shl edi, 2
cmp dword [eax + edi], 0
je 0x5581d4
mov ecx, 0x4e
call fcn.004dbdb8
test eax, eax
je 0x558197
push ebx
mov ecx, eax
call fcn.00564bdc
jmp 0x558199
xor eax, eax
mov edx, dword [ebx + 0x97]
mov dword [edx + edi], eax
inc esi
mov edx, dword [ebx + 0x97]
mov eax, dword [ebp + 0x97]
push esi
push dword [eax + edi]
mov ecx, dword [edx + edi]
call fcn.00564a4c
mov eax, dword [ebx + 0x97]
mov ecx, dword [eax + edi]
call fcn.0056eb28
mov edx, dword [ebx + 0x9b]
mov dword [edx + edi], eax
jmp 0x5581d5
inc esi
mov eax, dword [esp]
cmp esi, eax
jl 0x55816e
jmp 0x558520
movsx eax, word [ebx + 0x13]
shl eax, 4
mov edx, dword [0x7e4564]
mov esi, dword [eax + edx]
mov ecx, dword [ebx + 0x63]
call fcn.005a6ebc
mov ebp, eax
mov ecx, dword [ebx + 0x67]
call fcn.005a6d38
mov edx, dword [ebx + 0x9b]
push dword [edx]
push eax
push ebp
push esi
mov ecx, ebx
call fcn.004f7718
push 1
mov ecx, dword [ebx + 0x6f]
call fcn.005a7084
mov byte [ebx + 0x16], al
push 1
mov ecx, dword [ebx + 0x73]
call fcn.005a7058
mov byte [ebx + 0x15], al
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x5f]
call fcn.004f7b54
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x63]
call fcn.004f7b54
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x67]
call fcn.004f7b54
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x6f]
call fcn.004f7b54
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x73]
call fcn.004f7b54
xor eax, eax
mov word [esp + 0x3c], ax
mov edx, dword [ebx + 0x29]
movzx ecx, word [edx + 0x18]
test ecx, ecx
jne 0x558286
xor edx, edx
jmp 0x5582c0
call fcn.0053e928
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x29]
movzx ebp, word [eax + 0x18]
lea edx, [ebp*8]
lea esi, [esp + 0x3c]
push dword [edx + ebp*4 + 0x701828]
push esi
lea ecx, [esp + 0x38]
call fcn.0053f884
mov ecx, dword [esp + 0x30]
call fcn.0053e920
movzx edx, word [esp + 0x3c]
test edx, edx
je 0x558342
movzx eax, byte [ebx + 0xb3]
test al, 2
jne 0x558342
test al, 1
jne 0x558342
mov eax, dword [ebx + 0x59]
add eax, 0x27
cmp eax, 0x23
ja case.0x5582e9.38
mov eax, dword [eax*4 + 0x6d23a0]
jmp eax
mov ecx, 1
jmp 0x558309
mov ecx, 2
jmp 0x558309
mov ecx, 4
jmp 0x558309
mov ecx, 8
jmp 0x558309
xor ecx, ecx
push ebx
call fcn.004210d0
test eax, eax
jne 0x558342
lea ecx, [esp]
call fcn.00524474
xor eax, eax
push eax
push eax
push str.No_Access_nAllowed_
push 3
lea ecx, [esp + 0x10]
call fcn.0052392c
and byte [ebx + 0xb4], 0xbf
mov eax, 1
add esp, 0x40
pop ebx
pop ebp
pop esi
ret
mov ecx, dword [ebx + 0x2d]
call fcn.004db4f8
mov dword [ebx + 0x2d], 0
mov eax, dword [ebx + 0x29]
movzx edx, word [eax + 0xa]
test edx, edx
jne 0x55837a
lea ebp, [ebx + 0x2d]
movzx esi, word [ebx + 0x1f]
lea eax, [esi*8]
mov ecx, ebp
mov edx, dword [eax + esi*4 + 0x701828]
call fcn.004f5c14
jmp 0x5583a9
call fcn.0053e928
mov dword [esp], eax
lea ebp, [ebx + 0x2d]
mov eax, dword [ebx + 0x29]
movzx edx, word [eax + 0xa]
push 1
push ebx
push ebx
push edx
push ebp
lea ecx, [esp + 0x14]
call fcn.0053f680
mov ecx, dword [esp]
call fcn.0053e920
cmp dword [ebx + 0x2d], 0
je 0x55835f
and byte [ebx + 0xb4], 0xbf
xor eax, eax
add esp, 0x40
pop ebx
pop ebp
pop esi
ret
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506d24
jmp 0x557d14
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.00541584
mov ebp, eax
test ebp, ebp
je 0x557ca4
movzx eax, word [ebp]
movzx edx, word [0x7bd0ac]
cmp eax, edx
je 0x558427
movzx edx, word [0x7bd0bc]
cmp eax, edx
je 0x558427
movzx edx, word [0x7bd0c0]
cmp eax, edx
je 0x558427
movzx edx, word [0x7bd0b0]
cmp eax, edx
je 0x558427
movzx edx, word [0x7bd0c4]
cmp eax, edx
je 0x558427
movzx edx, word [0x7bd110]
cmp eax, edx
jne 0x558437
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x558443
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x5583e1
jmp 0x557ca4
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506d24
jmp 0x558437
mov eax, dword [ecx]
call dword [eax + 0x78]
cmp eax, 1
jne 0x557dec
movsx eax, word [ebx + 0x13]
shl eax, 4
mov edx, dword [0x7e4564]
mov ecx, dword [eax + edx]
call fcn.00416f40
push 1
push eax
mov ecx, dword [ebx + 0x5f]
call fcn.00502bec
jmp 0x557dec
movzx edx, byte [ebx + 9]
and edx, 8
shr edx, 3
push ebx
call fcn.00434b50
mov dword [ebx + 0x31], eax
jmp 0x557ecb
mov ecx, dword [ebx + 0xa7]
jmp 0x557e88
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506d24
jmp 0x557f61
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.00541584
mov ebp, eax
test ebp, ebp
je 0x557f28
movzx edx, word [ebp]
movzx eax, word [0x7bd0ac]
cmp edx, eax
je 0x5584f3
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x5584f3
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x5584ff
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x5584d0
jmp 0x557f28
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506d24
jmp 0x5584f3
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506d24
jmp 0x557fa3
mov edi, dword [esp + 0x2c]
jmp 0x5581e1
mov ecx, 0x4e
call fcn.004dbdb8
test eax, eax
je 0x558543
push ebx
mov ecx, eax
call fcn.00564bdc
mov ecx, eax
jmp 0x558545
xor ecx, ecx
mov dword [ebx + 0x8f], ecx
mov edx, dword [ebp + 0x8f]
jmp 0x55800b
movsx eax, word [edx + 0x59]
jmp 0x5580ed
mov ecx, 0x4e
call fcn.004dbdb8
test eax, eax
je 0x558579
push ebx
mov ecx, eax
call fcn.00564bdc
mov ecx, eax
jmp 0x55857b
xor ecx, ecx
mov dword [ebx + 0x8f], ecx
mov edx, dword [ebp + 0x97]
jmp 0x55811e
mov eax, dword [ebx + 0xf]
test eax, eax
je 0x557eef
movzx eax, byte [eax + 0xa]
and eax, 0x3f
cmp eax, 0xd
jne 0x5585d5
push 8
lea ecx, [esp + 0x24]
call fcn.0050ab48
mov ebp, dword [ebx + 0x67]
lea eax, [esp + 0x20]
push 0
push eax
mov ecx, ebp
call fcn.00506790
push eax
mov ecx, ebp
call fcn.004f7998
lea ecx, [esp + 0x20]
call fcn.0050ac00
jmp 0x557eef
cmp eax, 0x13
je 0x5585a3
jmp 0x557eef
mov eax, dword [ebx + 0x31]
movsx edx, word [eax + 0x13]
shl edx, 4
mov ebp, dword [0x7e4564]
push dword [edx + ebp]
mov ecx, ebx
call fcn.004f76e8
jmp 0x557ee3
mov ecx, 0x4a
call fcn.004dbdb8
test eax, eax
je 0x558618
push ebx
push 0
mov ecx, eax
call fcn.0051dcf4
jmp 0x55861a
xor eax, eax
mov dword [ebx + 0x31], eax
jmp 0x557ed3
push ebx
push 0x558668
mov ecx, dword [ebx + 0x39]
call fcn.004efc4c
movsx ecx, word [ebx + 0x3d]
jmp 0x557da2
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506d24
jmp 0x557d89