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

Disassembly:
test dword [0x7eeab0], 0xffffff80
jne 0x557628
test dword [0x7eeab0], 0xffffffff
jne 0x558080
call fcn.006a7fbc
jmp fcn.00557600
push esi
push ebp
push ebx
push ecx
mov eax, 0x3c
call fcn.006977b0
mov ecx, dword [esp + 0x3c]
mov ebx, ecx
movzx eax, byte [ebx + 0xb3]
test al, 1
jne 0x557667
test al, 2
jne 0x557667
mov eax, dword [ebx + 0x59]
cmp eax, 0xfffffff3
je 0x557667
cmp eax, 0xffffffd8
je 0x557667
cmp eax, 0xffffffd9
je 0x557667
cmp eax, 0xffffffe0
je 0x557667
call fcn.00417350
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 0x558ad8
mov ecx, dword [ebx + 0x39]
call fcn.004f00dc
mov ecx, dword [ebx + 0x59]
add ecx, 0x28
cmp ecx, 0x20
jae 0x557751
mov eax, 1
shl eax, cl
test eax, 0x8000103
je 0x557751
mov eax, dword [ebx + 0xf]
test eax, eax
je 0x5576d8
movzx eax, byte [eax + 0xa]
and eax, 0x3f
cmp eax, 0xd
je 0x557dfd
cmp eax, 0x13
je 0x557dfd
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 6]
call fcn.005419d0
mov ebp, eax
test ebp, ebp
je 0x5577c4
movzx eax, word [ebp]
movzx edx, word [0x7bd0ac]
cmp eax, edx
je 0x557734
movzx edx, word [0x7bd0bc]
cmp eax, edx
je 0x557734
movzx edx, word [0x7bd0c0]
cmp eax, edx
je 0x557734
movzx edx, word [0x7bd0b0]
cmp eax, edx
je 0x557734
movzx edx, word [0x7bd0c4]
cmp eax, edx
je 0x557734
movzx edx, word [0x7bd110]
cmp eax, edx
jne 0x557748
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x557deb
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x5576ee
jmp 0x5577c4
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.005419d0
mov ebp, eax
test ebp, ebp
je 0x5577c4
movzx eax, word [ebp]
movzx edx, word [0x7bd0ac]
cmp eax, edx
je 0x5577a9
movzx edx, word [0x7bd0bc]
cmp eax, edx
je 0x5577a9
movzx edx, word [0x7bd0c0]
cmp eax, edx
je 0x5577a9
movzx edx, word [0x7bd0b0]
cmp eax, edx
je 0x5577a9
movzx edx, word [0x7bd0c4]
cmp eax, edx
je 0x5577a9
movzx edx, word [0x7bd110]
cmp eax, edx
jne 0x5577bd
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x55806b
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x557763
movsx ecx, word [esp + 0x38]
mov word [ebx + 0x3d], cx
cmp ecx, 1
jg 0x558054
shl ecx, 2
call fcn.004dc218
mov dword [ebx + 0x97], eax
movsx ecx, word [ebx + 0x3d]
shl ecx, 2
call fcn.004dc218
mov dword [ebx + 0x9b], eax
mov ecx, dword [ebx + 0xf]
test ecx, ecx
je 0x557820
movsx eax, word [ebx + 0x13]
shl eax, 4
mov edx, dword [0x7e457c]
cmp dword [eax + edx], 0
je 0x557820
movzx eax, byte [ecx + 0xa]
and eax, 0x3f
cmp eax, 0xb
je 0x557e84
movzx eax, byte [ebx + 0xb3]
test al, 0x20
je 0x55783d
mov ecx, dword [ebx + 0x5f]
call fcn.005a7538
mov ecx, dword [ebx + 0x5f]
call fcn.005a75b4
jmp 0x557847
push 1
mov ecx, dword [ebx + 0x5f]
call fcn.005a750c
mov esi, eax
mov ecx, dword [ebx + 0x63]
call fcn.005a72ec
mov ebp, eax
mov ecx, dword [ebx + 0x67]
call fcn.005a7168
push 0
push eax
push ebp
push esi
mov ecx, ebx
call fcn.004f7bc4
push 1
mov ecx, dword [ebx + 0x6f]
call fcn.005a74b4
mov byte [ebx + 0x16], al
push 1
mov ecx, dword [ebx + 0x73]
call fcn.005a7488
mov byte [ebx + 0x15], al
movzx eax, byte [ebx + 0xb3]
test al, 2
je 0x557891
mov eax, dword [ebx + 0x31]
jmp 0x5578ff
test al, 1
jne 0x55788c
test al, 4
jne 0x55788c
mov ecx, dword [ebx + 0x31]
test ecx, ecx
je 0x557ecf
cmp dword [ebx + 0xa7], 0
je 0x5578c4
mov eax, dword [ecx]
call dword [eax + 0x78]
mov ecx, dword [ebx + 0xa7]
cmp eax, ecx
je 0x5578e5
test ecx, ecx
jne 0x557eb7
mov ecx, 0x4a
call fcn.004dc218
test eax, eax
je 0x5578de
push ebx
push 0
mov ecx, eax
call fcn.0051e160
jmp 0x5578e0
xor eax, eax
mov dword [ebx + 0x31], eax
jmp 0x5578ff
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 0x558030
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x78]
cmp eax, 1
je 0x558011
mov eax, dword [ebx + 0x67]
cmp ebx, dword [eax + 0xf]
je 0x557fbe
mov ecx, dword [ebx + 0x59]
add ecx, 0x28
cmp ecx, 0x20
jae 0x55799e
mov eax, 1
shl eax, cl
test eax, 0x8000103
je 0x55799e
mov eax, dword [ebx + 0xf]
test eax, eax
je 0x55795c
movzx eax, byte [eax + 0xa]
and eax, 0x3f
cmp eax, 0xd
je 0x557eec
cmp eax, 0x13
je 0x557eec
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 6]
call fcn.005419d0
mov ebp, eax
test ebp, ebp
je 0x5579de
movzx edx, word [ebp]
movzx eax, word [0x7bd0ac]
cmp edx, eax
je 0x557995
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x557995
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x557eda
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x55796e
jmp 0x5579de
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.005419d0
mov ebp, eax
test ebp, ebp
je 0x5579de
movzx edx, word [ebp]
movzx eax, word [0x7bd0ac]
cmp edx, eax
je 0x5579d7
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x5579d7
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x557f40
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x5579b0
movzx eax, byte [ebx + 9]
test al, 8
jne 0x557c13
mov ecx, dword [ebx + 0xf]
test ecx, ecx
je 0x557c13
xor edx, edx
call fcn.004f6fcc
mov ebp, eax
test ebp, ebp
je 0x557c13
mov ecx, dword [ebx + 0x59]
add ecx, 0x28
cmp ecx, 0x20
jae 0x557af9
mov eax, 1
shl eax, cl
test eax, 0x8000103
je 0x557af9
mov edx, dword [ebp + 0x8f]
test edx, edx
je 0x557a58
mov ecx, dword [ebx + 0x8f]
test ecx, ecx
je 0x557f5b
push 1
push edx
call fcn.00564ed8
mov ecx, dword [ebx + 0x8f]
call fcn.0056efb4
mov dword [ebx + 0x93], eax
mov eax, dword [ebp + 0x97]
test eax, eax
je 0x557c13
movsx edx, word [ebp + 0x3d]
movsx ecx, word [ebx + 0x3d]
cmp edx, ecx
cmovl ecx, edx
test ecx, ecx
jle 0x557c13
xor esi, esi
mov dword [esp], ecx
mov dword [esp + 0x2c], edi
jmp 0x557a8c
mov eax, dword [ebp + 0x97]
mov edi, esi
shl edi, 2
cmp dword [eax + edi], 0
je 0x557aec
mov ecx, 0x4e
call fcn.004dc218
test eax, eax
je 0x557aaf
push ebx
mov ecx, eax
call fcn.00565068
jmp 0x557ab1
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.00564ed8
mov eax, dword [ebx + 0x97]
mov ecx, dword [eax + edi]
call fcn.0056efb4
mov edx, dword [ebx + 0x9b]
mov dword [edx + edi], eax
jmp 0x557aed
inc esi
mov eax, dword [esp]
cmp esi, eax
jl 0x557a86
jmp 0x557f52
movzx eax, byte [ebx + 0xb3]
test al, 0x20
je 0x557b72
mov edx, dword [ebp + 0xf]
test edx, edx
je 0x557b1b
movzx eax, byte [edx + 0xa]
and eax, 0x3f
cmp eax, 6
je 0x557f88
mov eax, 1
movsx esi, word [ebp + 0x3d]
cmp esi, eax
jl 0x557b2a
mov esi, eax
mov edx, dword [ebp + 0x97]
test edx, edx
je 0x557c13
cmp dword [edx + esi*4 - 4], 0
je 0x557c13
mov ecx, dword [ebx + 0x8f]
test ecx, ecx
je 0x557f91
push 1
push dword [edx + esi*4 - 4]
call fcn.00564ed8
mov ecx, dword [ebx + 0x8f]
call fcn.0056efb4
mov dword [ebx + 0x93], eax
jmp 0x557c13
mov eax, dword [ebp + 0x97]
test eax, eax
je 0x557c13
movsx edx, word [ebp + 0x3d]
movsx ecx, word [ebx + 0x3d]
cmp edx, ecx
cmovl ecx, edx
test ecx, ecx
jle 0x557c13
xor esi, esi
mov dword [esp], ecx
mov dword [esp + 0x2c], edi
jmp 0x557ba6
mov eax, dword [ebp + 0x97]
mov edi, esi
shl edi, 2
cmp dword [eax + edi], 0
je 0x557c06
mov ecx, 0x4e
call fcn.004dc218
test eax, eax
je 0x557bc9
push ebx
mov ecx, eax
call fcn.00565068
jmp 0x557bcb
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.00564ed8
mov eax, dword [ebx + 0x97]
mov ecx, dword [eax + edi]
call fcn.0056efb4
mov edx, dword [ebx + 0x9b]
mov dword [edx + edi], eax
jmp 0x557c07
inc esi
mov eax, dword [esp]
cmp esi, eax
jl 0x557ba0
jmp 0x557f52
movsx eax, word [ebx + 0x13]
shl eax, 4
mov edx, dword [0x7e457c]
mov esi, dword [eax + edx]
mov ecx, dword [ebx + 0x63]
call fcn.005a72ec
mov ebp, eax
mov ecx, dword [ebx + 0x67]
call fcn.005a7168
mov edx, dword [ebx + 0x9b]
push dword [edx]
push eax
push ebp
push esi
mov ecx, ebx
call fcn.004f7bc4
push 1
mov ecx, dword [ebx + 0x6f]
call fcn.005a74b4
mov byte [ebx + 0x16], al
push 1
mov ecx, dword [ebx + 0x73]
call fcn.005a7488
mov byte [ebx + 0x15], al
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x5f]
call fcn.004f8000
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x63]
call fcn.004f8000
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x67]
call fcn.004f8000
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x6f]
call fcn.004f8000
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x73]
call fcn.004f8000
xor eax, eax
mov word [esp + 0x3c], ax
mov edx, dword [ebx + 0x29]
movzx ecx, word [edx + 0x18]
test ecx, ecx
jne 0x557cb8
xor edx, edx
jmp 0x557cf2
call fcn.0053ed74
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.0053fcd0
mov ecx, dword [esp + 0x30]
call fcn.0053ed6c
movzx edx, word [esp + 0x3c]
test edx, edx
je 0x557d74
movzx eax, byte [ebx + 0xb3]
test al, 2
jne 0x557d74
test al, 1
jne 0x557d74
mov eax, dword [ebx + 0x59]
add eax, 0x27
cmp eax, 0x23
ja case.0x557d1b.38
mov eax, dword [eax*4 + 0x6d23a0]
jmp eax
mov ecx, 1
jmp 0x557d3b
mov ecx, 2
jmp 0x557d3b
mov ecx, 4
jmp 0x557d3b
mov ecx, 8
jmp 0x557d3b
xor ecx, ecx
push ebx
call fcn.004214b0
test eax, eax
jne 0x557d74
lea ecx, [esp]
call fcn.0052717c
xor eax, eax
push eax
push eax
push str.No_Access_nAllowed_
push 3
lea ecx, [esp + 0x10]
call fcn.00526634
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.004db958
mov dword [ebx + 0x2d], 0
mov eax, dword [ebx + 0x29]
movzx edx, word [eax + 0xa]
test edx, edx
jne 0x557dac
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.004f60bc
jmp 0x557ddb
call fcn.0053ed74
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.0053facc
mov ecx, dword [esp]
call fcn.0053ed6c
cmp dword [ebx + 0x2d], 0
je 0x557d91
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.00507180
jmp 0x557748
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.005419d0
mov ebp, eax
test ebp, ebp
je 0x5576d8
movzx eax, word [ebp]
movzx edx, word [0x7bd0ac]
cmp eax, edx
je 0x557e59
movzx edx, word [0x7bd0bc]
cmp eax, edx
je 0x557e59
movzx edx, word [0x7bd0c0]
cmp eax, edx
je 0x557e59
movzx edx, word [0x7bd0b0]
cmp eax, edx
je 0x557e59
movzx edx, word [0x7bd0c4]
cmp eax, edx
je 0x557e59
movzx edx, word [0x7bd110]
cmp eax, edx
jne 0x557e69
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x557e75
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x557e13
jmp 0x5576d8
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00507180
jmp 0x557e69
mov eax, dword [ecx]
call dword [eax + 0x78]
cmp eax, 1
jne 0x557820
movsx eax, word [ebx + 0x13]
shl eax, 4
mov edx, dword [0x7e457c]
mov ecx, dword [eax + edx]
call fcn.00417320
push 1
push eax
mov ecx, dword [ebx + 0x5f]
call fcn.00503048
jmp 0x557820
movzx edx, byte [ebx + 9]
and edx, 8
shr edx, 3
push ebx
call fcn.00434f20
mov dword [ebx + 0x31], eax
jmp 0x5578ff
mov ecx, dword [ebx + 0xa7]
jmp 0x5578bc
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00507180
jmp 0x557995
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.005419d0
mov ebp, eax
test ebp, ebp
je 0x55795c
movzx edx, word [ebp]
movzx eax, word [0x7bd0ac]
cmp edx, eax
je 0x557f25
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x557f25
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x557f31
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x557f02
jmp 0x55795c
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00507180
jmp 0x557f25
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00507180
jmp 0x5579d7
mov edi, dword [esp + 0x2c]
jmp 0x557c13
mov ecx, 0x4e
call fcn.004dc218
test eax, eax
je 0x557f75
push ebx
mov ecx, eax
call fcn.00565068
mov ecx, eax
jmp 0x557f77
xor ecx, ecx
mov dword [ebx + 0x8f], ecx
mov edx, dword [ebp + 0x8f]
jmp 0x557a3f
movsx eax, word [edx + 0x59]
jmp 0x557b20
mov ecx, 0x4e
call fcn.004dc218
test eax, eax
je 0x557fab
push ebx
mov ecx, eax
call fcn.00565068
mov ecx, eax
jmp 0x557fad
xor ecx, ecx
mov dword [ebx + 0x8f], ecx
mov edx, dword [ebp + 0x97]
jmp 0x557b51
mov eax, dword [ebx + 0xf]
test eax, eax
je 0x557923
movzx eax, byte [eax + 0xa]
and eax, 0x3f
cmp eax, 0xd
jne 0x558007
push 8
lea ecx, [esp + 0x24]
call fcn.0050afb4
mov ebp, dword [ebx + 0x67]
lea eax, [esp + 0x20]
push 0
push eax
mov ecx, ebp
call fcn.00506bec
push eax
mov ecx, ebp
call fcn.004f7e44
lea ecx, [esp + 0x20]
call fcn.0050b06c
jmp 0x557923
cmp eax, 0x13
je 0x557fd5
jmp 0x557923
mov eax, dword [ebx + 0x31]
movsx edx, word [eax + 0x13]
shl edx, 4
mov ebp, dword [0x7e457c]
push dword [edx + ebp]
mov ecx, ebx
call fcn.004f7b94
jmp 0x557917
mov ecx, 0x4a
call fcn.004dc218
test eax, eax
je 0x55804a
push ebx
push 0
mov ecx, eax
call fcn.0051e160
jmp 0x55804c
xor eax, eax
mov dword [ebx + 0x31], eax
jmp 0x557907
push ebx
push 0x558af4
mov ecx, dword [ebx + 0x39]
call fcn.004f00dc
movsx ecx, word [ebx + 0x3d]
jmp 0x5577d6
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00507180
jmp 0x5577bd
push esi
push ebp
push ebx
push ecx
mov eax, 0x3c
call fcn.006977b0
mov ecx, dword [esp + 0x3c]
mov ebx, ecx
movzx eax, byte [ebx + 0xb3]
test al, 1
jne 0x5580bf
test al, 2
jne 0x5580bf
mov eax, dword [ebx + 0x59]
cmp eax, 0xfffffff3
je 0x5580bf
cmp eax, 0xffffffd8
je 0x5580bf
cmp eax, 0xffffffd9
je 0x5580bf
cmp eax, 0xffffffe0
je 0x5580bf
call fcn.00417350
or byte [ebx + 0xb4], 0x40
mov eax, 1
mov word [ebx + 0x3d], ax
mov edx, dword [0x6d24d4]
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ebx
lea ebp, [esp + 0x34]
push ebp
push 0x558ad8
mov ecx, dword [ebx + 0x39]
call fcn.004f00dc
mov ecx, dword [ebx + 0x59]
add ecx, 0x28
cmp ecx, 0x20
jae 0x5581a9
mov eax, 1
shl eax, cl
test eax, 0x8000103
je 0x5581a9
mov eax, dword [ebx + 0xf]
test eax, eax
je 0x558130
movzx eax, byte [eax + 0xa]
and eax, 0x3f
cmp eax, 0xd
je 0x558857
cmp eax, 0x13
je 0x558857
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 6]
call fcn.005419d0
mov ebp, eax
test ebp, ebp
je 0x55821c
movzx eax, word [ebp]
movzx edx, word [0x7bd0ac]
cmp eax, edx
je 0x55818c
movzx edx, word [0x7bd0bc]
cmp eax, edx
je 0x55818c
movzx edx, word [0x7bd0c0]
cmp eax, edx
je 0x55818c
movzx edx, word [0x7bd0b0]
cmp eax, edx
je 0x55818c
movzx edx, word [0x7bd0c4]
cmp eax, edx
je 0x55818c
movzx edx, word [0x7bd110]
cmp eax, edx
jne 0x5581a0
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x558845
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x558146
jmp 0x55821c
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.005419d0
mov ebp, eax
test ebp, ebp
je 0x55821c
movzx eax, word [ebp]
movzx edx, word [0x7bd0ac]
cmp eax, edx
je 0x558201
movzx edx, word [0x7bd0bc]
cmp eax, edx
je 0x558201
movzx edx, word [0x7bd0c0]
cmp eax, edx
je 0x558201
movzx edx, word [0x7bd0b0]
cmp eax, edx
je 0x558201
movzx edx, word [0x7bd0c4]
cmp eax, edx
je 0x558201
movzx edx, word [0x7bd110]
cmp eax, edx
jne 0x558215
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x558ac5
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x5581bb
movsx ecx, word [esp + 0x38]
mov word [ebx + 0x3d], cx
cmp ecx, 1
jg 0x558aae
shl ecx, 2
call fcn.004dc218
mov dword [ebx + 0x97], eax
movsx ecx, word [ebx + 0x3d]
shl ecx, 2
call fcn.004dc218
mov dword [ebx + 0x9b], eax
mov ecx, dword [ebx + 0xf]
test ecx, ecx
je 0x558278
movsx eax, word [ebx + 0x13]
shl eax, 4
mov edx, dword [0x7e457c]
cmp dword [eax + edx], 0
je 0x558278
movzx eax, byte [ecx + 0xa]
and eax, 0x3f
cmp eax, 0xb
je 0x5588de
movzx eax, byte [ebx + 0xb3]
test al, 0x20
je 0x558295
mov ecx, dword [ebx + 0x5f]
call fcn.005a7538
mov ecx, dword [ebx + 0x5f]
call fcn.005a75b4
jmp 0x55829f
push 1
mov ecx, dword [ebx + 0x5f]
call fcn.005a750c
mov esi, eax
mov ecx, dword [ebx + 0x63]
call fcn.005a72ec
mov ebp, eax
mov ecx, dword [ebx + 0x67]
call fcn.005a7168
push 0
push eax
push ebp
push esi
mov ecx, ebx
call fcn.004f7bc4
push 1
mov ecx, dword [ebx + 0x6f]
call fcn.005a74b4
mov byte [ebx + 0x16], al
push 1
mov ecx, dword [ebx + 0x73]
call fcn.005a7488
mov byte [ebx + 0x15], al
movzx eax, byte [ebx + 0xb3]
test al, 2
je 0x5582e9
mov eax, dword [ebx + 0x31]
jmp 0x558357
test al, 1
jne 0x5582e4
test al, 4
jne 0x5582e4
mov ecx, dword [ebx + 0x31]
test ecx, ecx
je 0x558929
cmp dword [ebx + 0xa7], 0
je 0x55831c
mov eax, dword [ecx]
call dword [eax + 0x78]
mov ecx, dword [ebx + 0xa7]
cmp eax, ecx
je 0x55833d
test ecx, ecx
jne 0x558911
mov ecx, 0x4a
call fcn.004dc218
test eax, eax
je 0x558336
push ebx
push 0
mov ecx, eax
call fcn.0051e160
jmp 0x558338
xor eax, eax
mov dword [ebx + 0x31], eax
jmp 0x558357
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 0x558a8a
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x78]
cmp eax, 1
je 0x558a6b
mov eax, dword [ebx + 0x67]
cmp ebx, dword [eax + 0xf]
je 0x558a18
mov ecx, dword [ebx + 0x59]
add ecx, 0x28
cmp ecx, 0x20
jae 0x5583f6
mov eax, 1
shl eax, cl
test eax, 0x8000103
je 0x5583f6
mov eax, dword [ebx + 0xf]
test eax, eax
je 0x5583b4
movzx eax, byte [eax + 0xa]
and eax, 0x3f
cmp eax, 0xd
je 0x558946
cmp eax, 0x13
je 0x558946
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 6]
call fcn.005419d0
mov ebp, eax
test ebp, ebp
je 0x558436
movzx edx, word [ebp]
movzx eax, word [0x7bd0ac]
cmp edx, eax
je 0x5583ed
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x5583ed
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x558934
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x5583c6
jmp 0x558436
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.005419d0
mov ebp, eax
test ebp, ebp
je 0x558436
movzx edx, word [ebp]
movzx eax, word [0x7bd0ac]
cmp edx, eax
je 0x55842f
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x55842f
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x55899a
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x558408
movzx eax, byte [ebx + 9]
test al, 8
jne 0x55866d
mov ecx, dword [ebx + 0xf]
test ecx, ecx
je 0x55866d
xor edx, edx
call fcn.004f6fcc
mov ebp, eax
test ebp, ebp
je 0x55866d
mov ecx, dword [ebx + 0x59]
add ecx, 0x28
cmp ecx, 0x20
jae 0x558552
mov eax, 1
shl eax, cl
test eax, 0x8000103
je 0x558552
mov edx, dword [ebp + 0x8f]
test edx, edx
je 0x5584b0
mov ecx, dword [ebx + 0x8f]
test ecx, ecx
je 0x5589b5
push 1
push edx
call fcn.00564ed8
mov ecx, dword [ebx + 0x8f]
call fcn.0056efb4
mov dword [ebx + 0x93], eax
mov eax, dword [ebp + 0x97]
test eax, eax
je 0x55866d
movsx ecx, word [ebp + 0x3d]
movsx edx, word [ebx + 0x3d]
cmp ecx, edx
jl 0x5584cc
mov ecx, edx
test ecx, ecx
jle 0x55866d
xor esi, esi
mov dword [esp], ecx
mov dword [esp + 0x2c], edi
jmp 0x5584e5
mov eax, dword [ebp + 0x97]
mov edi, esi
shl edi, 2
cmp dword [eax + edi], 0
je 0x558545
mov ecx, 0x4e
call fcn.004dc218
test eax, eax
je 0x558508
push ebx
mov ecx, eax
call fcn.00565068
jmp 0x55850a
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.00564ed8
mov eax, dword [ebx + 0x97]
mov ecx, dword [eax + edi]
call fcn.0056efb4
mov edx, dword [ebx + 0x9b]
mov dword [edx + edi], eax
jmp 0x558546
inc esi
mov eax, dword [esp]
cmp esi, eax
jl 0x5584df
jmp 0x5589ac
movzx eax, byte [ebx + 0xb3]
test al, 0x20
je 0x5585cb
mov edx, dword [ebp + 0xf]
test edx, edx
je 0x558574
movzx eax, byte [edx + 0xa]
and eax, 0x3f
cmp eax, 6
je 0x5589e2
mov eax, 1
movsx esi, word [ebp + 0x3d]
cmp esi, eax
jl 0x558583
mov esi, eax
mov edx, dword [ebp + 0x97]
test edx, edx
je 0x55866d
cmp dword [edx + esi*4 - 4], 0
je 0x55866d
mov ecx, dword [ebx + 0x8f]
test ecx, ecx
je 0x5589eb
push 1
push dword [edx + esi*4 - 4]
call fcn.00564ed8
mov ecx, dword [ebx + 0x8f]
call fcn.0056efb4
mov dword [ebx + 0x93], eax
jmp 0x55866d
mov eax, dword [ebp + 0x97]
test eax, eax
je 0x55866d
movsx ecx, word [ebp + 0x3d]
movsx edx, word [ebx + 0x3d]
cmp ecx, edx
jl 0x5585e7
mov ecx, edx
test ecx, ecx
jle 0x55866d
xor esi, esi
mov dword [esp], ecx
mov dword [esp + 0x2c], edi
jmp 0x558600
mov eax, dword [ebp + 0x97]
mov edi, esi
shl edi, 2
cmp dword [eax + edi], 0
je 0x558660
mov ecx, 0x4e
call fcn.004dc218
test eax, eax
je 0x558623
push ebx
mov ecx, eax
call fcn.00565068
jmp 0x558625
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.00564ed8
mov eax, dword [ebx + 0x97]
mov ecx, dword [eax + edi]
call fcn.0056efb4
mov edx, dword [ebx + 0x9b]
mov dword [edx + edi], eax
jmp 0x558661
inc esi
mov eax, dword [esp]
cmp esi, eax
jl 0x5585fa
jmp 0x5589ac
movsx eax, word [ebx + 0x13]
shl eax, 4
mov edx, dword [0x7e457c]
mov esi, dword [eax + edx]
mov ecx, dword [ebx + 0x63]
call fcn.005a72ec
mov ebp, eax
mov ecx, dword [ebx + 0x67]
call fcn.005a7168
mov edx, dword [ebx + 0x9b]
push dword [edx]
push eax
push ebp
push esi
mov ecx, ebx
call fcn.004f7bc4
push 1
mov ecx, dword [ebx + 0x6f]
call fcn.005a74b4
mov byte [ebx + 0x16], al
push 1
mov ecx, dword [ebx + 0x73]
call fcn.005a7488
mov byte [ebx + 0x15], al
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x5f]
call fcn.004f8000
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x63]
call fcn.004f8000
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x67]
call fcn.004f8000
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x6f]
call fcn.004f8000
push 1
push 4
push ebx
mov ecx, dword [ebx + 0x73]
call fcn.004f8000
xor eax, eax
mov word [esp + 0x3c], ax
mov edx, dword [ebx + 0x29]
movzx ecx, word [edx + 0x18]
test ecx, ecx
jne 0x558712
xor edx, edx
jmp 0x55874c
call fcn.0053ed74
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.0053fcd0
mov ecx, dword [esp + 0x30]
call fcn.0053ed6c
movzx edx, word [esp + 0x3c]
test edx, edx
je 0x5587ce
movzx eax, byte [ebx + 0xb3]
test al, 2
jne 0x5587ce
test al, 1
jne 0x5587ce
mov eax, dword [ebx + 0x59]
add eax, 0x27
cmp eax, 0x23
ja case.0x558775.38
mov eax, dword [eax*4 + 0x6d2440]
jmp eax
mov ecx, 1
jmp 0x558795
mov ecx, 2
jmp 0x558795
mov ecx, 4
jmp 0x558795
mov ecx, 8
jmp 0x558795
xor ecx, ecx
push ebx
call fcn.004214b0
test eax, eax
jne 0x5587ce
lea ecx, [esp]
call fcn.0052717c
xor eax, eax
push eax
push eax
push str.No_Access_nAllowed_
push 3
lea ecx, [esp + 0x10]
call fcn.00526634
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.004db958
mov dword [ebx + 0x2d], 0
mov eax, dword [ebx + 0x29]
movzx edx, word [eax + 0xa]
test edx, edx
jne 0x558806
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.004f60bc
jmp 0x558835
call fcn.0053ed74
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.0053facc
mov ecx, dword [esp]
call fcn.0053ed6c
cmp dword [ebx + 0x2d], 0
je 0x5587eb
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.00507180
jmp 0x5581a0
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.005419d0
mov ebp, eax
test ebp, ebp
je 0x558130
movzx eax, word [ebp]
movzx edx, word [0x7bd0ac]
cmp eax, edx
je 0x5588b3
movzx edx, word [0x7bd0bc]
cmp eax, edx
je 0x5588b3
movzx edx, word [0x7bd0c0]
cmp eax, edx
je 0x5588b3
movzx edx, word [0x7bd0b0]
cmp eax, edx
je 0x5588b3
movzx edx, word [0x7bd0c4]
cmp eax, edx
je 0x5588b3
movzx edx, word [0x7bd110]
cmp eax, edx
jne 0x5588c3
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x5588cf
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x55886d
jmp 0x558130
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00507180
jmp 0x5588c3
mov eax, dword [ecx]
call dword [eax + 0x78]
cmp eax, 1
jne 0x558278
movsx eax, word [ebx + 0x13]
shl eax, 4
mov edx, dword [0x7e457c]
mov ecx, dword [eax + edx]
call fcn.00417320
push 1
push eax
mov ecx, dword [ebx + 0x5f]
call fcn.00503048
jmp 0x558278
movzx edx, byte [ebx + 9]
and edx, 8
shr edx, 3
push ebx
call fcn.00434f20
mov dword [ebx + 0x31], eax
jmp 0x558357
mov ecx, dword [ebx + 0xa7]
jmp 0x558314
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00507180
jmp 0x5583ed
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.005419d0
mov ebp, eax
test ebp, ebp
je 0x5583b4
movzx edx, word [ebp]
movzx eax, word [0x7bd0ac]
cmp edx, eax
je 0x55897f
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x55897f
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x55898b
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x55895c
jmp 0x5583b4
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00507180
jmp 0x55897f
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00507180
jmp 0x55842f
mov edi, dword [esp + 0x2c]
jmp 0x55866d
mov ecx, 0x4e
call fcn.004dc218
test eax, eax
je 0x5589cf
push ebx
mov ecx, eax
call fcn.00565068
mov ecx, eax
jmp 0x5589d1
xor ecx, ecx
mov dword [ebx + 0x8f], ecx
mov edx, dword [ebp + 0x8f]
jmp 0x558497
movsx eax, word [edx + 0x59]
jmp 0x558579
mov ecx, 0x4e
call fcn.004dc218
test eax, eax
je 0x558a05
push ebx
mov ecx, eax
call fcn.00565068
mov ecx, eax
jmp 0x558a07
xor ecx, ecx
mov dword [ebx + 0x8f], ecx
mov edx, dword [ebp + 0x97]
jmp 0x5585aa
mov eax, dword [ebx + 0xf]
test eax, eax
je 0x55837b
movzx eax, byte [eax + 0xa]
and eax, 0x3f
cmp eax, 0xd
jne 0x558a61
push 8
lea ecx, [esp + 0x24]
call fcn.0050afb4
mov ebp, dword [ebx + 0x67]
lea eax, [esp + 0x20]
push 0
push eax
mov ecx, ebp
call fcn.00506bec
push eax
mov ecx, ebp
call fcn.004f7e44
lea ecx, [esp + 0x20]
call fcn.0050b06c
jmp 0x55837b
cmp eax, 0x13
je 0x558a2f
jmp 0x55837b
mov eax, dword [ebx + 0x31]
movsx edx, word [eax + 0x13]
shl edx, 4
mov ebp, dword [0x7e457c]
push dword [edx + ebp]
mov ecx, ebx
call fcn.004f7b94
jmp 0x55836f
mov ecx, 0x4a
call fcn.004dc218
test eax, eax
je 0x558aa4
push ebx
push 0
mov ecx, eax
call fcn.0051e160
jmp 0x558aa6
xor eax, eax
mov dword [ebx + 0x31], eax
jmp 0x55835f
push ebx
push 0x558af4
mov ecx, dword [ebx + 0x39]
call fcn.004f00dc
movsx ecx, word [ebx + 0x3d]
jmp 0x55822e
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00507180
jmp 0x558215