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

Disassembly:
sub esp, 0x1a8
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov ebp, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x1c0]
mov dword [esp + 0x20], edi
mov eax, dword [ecx + 0xa3c7]
test eax, eax
jne 0x5359f6
mov dword [edi + 0xa2], 0
xor eax, eax
mov ebx, dword [edi + 0xa2]
xor edx, edx
mov dl, byte [eax + ebp]
add ebx, edx
inc eax
cmp eax, 0x4f3
mov dword [edi + 0xa2], ebx
jb 0x5359a6
mov al, byte [ebp + 0x466]
mov byte [edi + 0x44d], al
mov eax, dword [ebp + 8]
test eax, eax
je 0x5359f6
mov bl, byte [ebp + 0x468]
mov edx, dword [ecx]
mov byte [esp + 0x10], bl
mov eax, dword [esp + 0x10]
push eax
call dword [edx + 0x64]
test eax, eax
je 0x536b96
mov byte [edi + 0x44e], bl
mov eax, dword [ebp + 0x4c]
test eax, eax
je 0x535a09
mov eax, dword [ebp + 0x43c]
mov byte [edi + 0x455], al
mov eax, dword [ebp + 0x50]
test eax, eax
je 0x535a1e
mov cx, word [ebp + 0x44c]
mov word [edi + 0x43f], cx
mov eax, dword [ebp + 0xc0]
test eax, eax
je 0x535a35
movsx edx, word [ebp + 0x4f1]
mov dword [edi + 0x439], edx
mov eax, dword [ebp + 0xd0]
test eax, eax
je 0x535a4c
mov eax, dword [ebp + 0x444]
mov word [edi + 0x43d], ax
mov eax, dword [ebp + 0x58]
test eax, eax
je 0x535a5f
mov al, byte [ebp + 0x469]
mov byte [edi + 0x452], al
xor eax, eax
mov esi, 8
mov al, byte [edi + 0x452]
dec eax
cmp eax, 0xc
ja case.0x535a7a.6
xor ecx, ecx
mov cl, byte [eax + 0x536bc0]
jmp dword [ecx*4 + 0x536ba8]
or word [edi + 0x43d], si
mov eax, dword [ebp + 0x5c]
test eax, eax
je 0x535a9b
mov dl, byte [ebp + 0x46a]
mov byte [edi + 0x44f], dl
mov eax, dword [ebp + 0x60]
test eax, eax
je 0x535aae
mov al, byte [ebp + 0x467]
mov byte [edi + 0x465], al
mov eax, dword [ebp + 0x7c]
test eax, eax
je 0x535ac3
mov cx, word [ebp + 0x44e]
mov word [edi + 0x450], cx
xor eax, eax
mov cl, byte [eax + ebp + 0x46e]
test cl, cl
je 0x535ad7
mov byte [eax + edi + 0x431], cl
inc eax
cmp eax, esi
jb 0x535ac5
lea ecx, [ebp + 0x456]
lea edx, [edi + 0x421]
mov ax, word [ecx]
test ax, ax
je 0x535af3
mov word [edx], ax
add edx, 2
add ecx, 2
dec esi
jne 0x535ae8
mov ebx, dword [esp + 0x1c0]
mov eax, dword [ebx + 0xa3c7]
test eax, eax
jne 0x536971
mov esi, dword [esp + 0x1c4]
test esi, esi
je 0x536971
mov al, byte [edi + 0x452]
cmp al, 1
jne 0x535cec
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x535c12
mov al, byte [ebp + 0x1ec]
test al, al
je 0x535c12
lea ebx, [ebp + 0x1dc]
mov edx, dword [esi]
push 0
lea ecx, [esp + 0x14]
push 1
push ecx
mov ecx, dword [ebx]
push ecx
push eax
lea eax, [ebp + 0x19c]
mov ecx, esi
push eax
call dword [edx + 0x54]
test eax, eax
je 0x535b7a
mov edx, dword [esp + 0x10]
push ebx
push edx
lea ecx, [edi + 0x1b]
call fcn.0054f4df
test byte [edi + 0x26], 8
je 0x535bc6
lea eax, [ebp + 0x19c]
push eax
lea eax, [esp + 0x78]
push 0x7a35cc
push eax
call fcn.00674915
mov ecx, dword [ebx]
add esp, 0xc
mov edx, dword [esi]
lea eax, [esp + 0x1c]
push 0
push 1
push eax
mov al, byte [ebp + 0x1ec]
push ecx
lea ecx, [esp + 0x84]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x535bc6
mov edx, dword [esp + 0x1c]
mov dword [edi + 0x2e], edx
test byte [edi + 0x26], 0x10
je 0x535c12
lea eax, [ebp + 0x19c]
push eax
lea eax, [esp + 0x78]
push 0x7a35c4
push eax
call fcn.00674915
mov ecx, dword [ebx]
add esp, 0xc
mov edx, dword [esi]
lea eax, [esp + 0x18]
push 0
push 1
push eax
mov al, byte [ebp + 0x1ec]
push ecx
lea ecx, [esp + 0x84]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x535c12
mov edx, dword [esp + 0x18]
mov dword [edi + 0x32], edx
mov al, byte [ebp + 0x19c]
test al, al
je 0x5364c3
xor ebx, ebx
add edi, 0xc1
mov dword [esp + 0x10], edi
cmp ebx, 3
jb 0x535c3a
cmp ebx, 5
jbe 0x535cd2
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x179]
mov byte [esp + 0x178], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea edx, [ebp + 0x19c]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xfffffffe
lea eax, [esp + 0x178]
push ecx
push edx
push eax
call fcn.00675cb5
add esp, 0xc
lea ecx, [esp + 0x178]
lea edx, [esp + 0x34]
push ebx
push ecx
push 0x7abf1c
push edx
call fcn.00674915
mov edx, dword [ebp + 0x1dc]
add esp, 0x10
mov eax, dword [esi]
lea edi, [ebp + 0x1dc]
push 0
lea ecx, [esp + 0x18]
push 1
push ecx
mov cl, byte [ebp + 0x1ec]
push edx
lea edx, [esp + 0x44]
push ecx
push edx
mov ecx, esi
call dword [eax + 0x54]
test eax, eax
je 0x535cd2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push edi
push eax
call fcn.0054f4df
mov ecx, dword [esp + 0x10]
inc ebx
add ecx, 0x1b
cmp ebx, 0xa
mov dword [esp + 0x10], ecx
jb 0x535c2c
jmp 0x5364c3
cmp al, 2
jne 0x535d7a
mov al, byte [ebp + 0x19c]
test al, al
je 0x5364c3
xor ebx, ebx
add edi, 0xc1
mov dword [esp + 0x10], edi
lea eax, [ebp + 0x19c]
push ebx
push eax
lea ecx, [esp + 0x3c]
push 0x7abf1c
push ecx
call fcn.00674915
mov ecx, dword [ebp + 0x1dc]
add esp, 0x10
mov edx, dword [esi]
lea edi, [ebp + 0x1dc]
push 0
lea eax, [esp + 0x18]
push 1
push eax
mov al, byte [ebp + 0x1ec]
push ecx
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x535d64
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push edi
push edx
call fcn.0054f4df
mov ecx, dword [esp + 0x10]
inc ebx
add ecx, 0x1b
cmp ebx, 4
mov dword [esp + 0x10], ecx
jb 0x535d0e
jmp 0x5364c3
cmp al, 7
jne 0x535ec2
mov al, byte [ebp + 0x19c]
test al, al
je 0x5364c3
lea eax, [edi + 0xc1]
xor ebx, ebx
mov dword [esp + 0x10], eax
lea eax, [ebp + 0x19c]
push ebx
push eax
lea ecx, [esp + 0x3c]
push 0x7abf1c
push ecx
call fcn.00674915
mov ecx, dword [ebp + 0x1dc]
add esp, 0x10
mov edx, dword [esi]
lea eax, [esp + 0x14]
push 0
push 1
push eax
mov al, byte [ebp + 0x1ec]
push ecx
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x535df2
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
lea eax, [ebp + 0x1dc]
push eax
push edx
call fcn.0054f4df
mov ecx, dword [esp + 0x10]
inc ebx
add ecx, 0x1b
cmp ebx, 0xf
mov dword [esp + 0x10], ecx
jb 0x535d9c
cmp byte [edi + 0x44d], 0xd
jne 0x5364c3
mov eax, dword [esi]
xor ebx, ebx
push ebx
lea ecx, [esp + 0x18]
push 1
push ecx
push 0x20000
push 2
push 0x7aeee8
mov ecx, esi
call dword [eax + 0x54]
test eax, eax
je 0x535e48
mov edx, dword [esp + 0x14]
lea eax, [ebp + 0x1dc]
push eax
push edx
lea ecx, [edi + 0x256]
call fcn.0054f4df
mov eax, dword [esi]
push ebx
lea ecx, [esp + 0x18]
push 1
push ecx
push 0x20000
push 1
push 0x7aeee8
mov ecx, esi
call dword [eax + 0x54]
test eax, eax
je 0x5364c3
lea eax, [edi + 0xa6]
mov edi, dword [esp + 0x14]
mov ecx, 0x1000
mov byte [esp + 0x2e], 1
mov dword [eax + 0xf], edi
mov edi, eax
mov edx, ecx
mov word [esp + 0x2c], bx
mov dword [edi], ecx
mov dword [esp + 0x2f], ebx
mov cx, word [esp + 0x30]
mov dword [edi + 4], edx
mov edx, dword [esp + 0x2c]
mov dword [edi + 8], edx
mov dl, byte [esp + 0x32]
mov word [edi + 0xc], cx
xor ecx, ecx
mov byte [edi + 0xe], dl
mov bl, byte [eax + 0xa]
mov edx, dword [eax + 0xb]
test bl, bl
setne cl
or edx, ecx
mov dword [eax + 0xb], edx
jmp 0x5364c3
cmp al, 3
jne 0x535f50
mov al, byte [ebp + 0x19c]
test al, al
je 0x5364c3
xor ebx, ebx
add edi, 0xc1
mov dword [esp + 0x10], edi
lea eax, [ebp + 0x19c]
push ebx
push eax
lea edx, [esp + 0x3c]
push 0x7abf1c
push edx
call fcn.00674915
mov edx, dword [ebp + 0x1dc]
add esp, 0x10
mov eax, dword [esi]
lea edi, [ebp + 0x1dc]
push 0
lea ecx, [esp + 0x18]
push 1
push ecx
mov cl, byte [ebp + 0x1ec]
push edx
lea edx, [esp + 0x44]
push ecx
push edx
mov ecx, esi
call dword [eax + 0x54]
test eax, eax
je 0x535f3a
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push edi
push eax
call fcn.0054f4df
mov ecx, dword [esp + 0x10]
inc ebx
add ecx, 0x1b
cmp ebx, 9
mov dword [esp + 0x10], ecx
jb 0x535ee4
jmp 0x5364c3
cmp al, 4
jne 0x535fde
mov al, byte [ebp + 0x19c]
test al, al
je 0x5364c3
xor ebx, ebx
add edi, 0xc1
mov dword [esp + 0x10], edi
lea eax, [ebp + 0x19c]
push ebx
push eax
lea ecx, [esp + 0x3c]
push 0x7abf1c
push ecx
call fcn.00674915
mov ecx, dword [ebp + 0x1dc]
add esp, 0x10
mov edx, dword [esi]
lea edi, [ebp + 0x1dc]
push 0
lea eax, [esp + 0x18]
push 1
push eax
mov al, byte [ebp + 0x1ec]
push ecx
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x535fc8
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push edi
push edx
call fcn.0054f4df
mov ecx, dword [esp + 0x10]
inc ebx
add ecx, 0x1b
cmp ebx, 3
mov dword [esp + 0x10], ecx
jb 0x535f72
jmp 0x5364c3
cmp al, 8
jne 0x5360dc
mov al, byte [ebp + 0x19c]
test al, al
je 0x536066
mov eax, dword [esp + 0x20]
xor ebx, ebx
add eax, 0xc1
lea edi, [ebp + 0x1dc]
mov dword [esp + 0x10], eax
lea eax, [ebp + 0x19c]
push ebx
push eax
lea ecx, [esp + 0x3c]
push 0x7abf1c
push ecx
call fcn.00674915
mov ecx, dword [edi]
add esp, 0x10
mov edx, dword [esi]
lea eax, [esp + 0x14]
push 0
push 1
push eax
mov al, byte [ebp + 0x1ec]
push ecx
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x536051
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push edi
push edx
call fcn.0054f4df
mov ecx, dword [esp + 0x10]
inc ebx
add ecx, 0x1b
cmp ebx, 4
mov dword [esp + 0x10], ecx
jb 0x536005
mov edi, dword [esp + 0x20]
xor ebx, ebx
add edi, 0x271
mov dword [esp + 0x10], edi
push ebx
push 0x7aeed4
lea eax, [esp + 0x3c]
push 0x7abf1c
push eax
call fcn.00674915
mov ecx, dword [ebp + 0x1dc]
add esp, 0x10
mov edx, dword [esi]
lea edi, [ebp + 0x1dc]
push 0
lea eax, [esp + 0x18]
push 1
push eax
mov al, byte [ebp + 0x1ec]
push ecx
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x5360c6
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push edi
push edx
call fcn.0054f4df
mov ecx, dword [esp + 0x10]
inc ebx
add ecx, 0x1b
cmp ebx, 6
mov dword [esp + 0x10], ecx
jb 0x536072
jmp 0x5364c3
cmp al, 9
jne 0x53616a
mov al, byte [ebp + 0x19c]
test al, al
je 0x5364c3
xor eax, eax
add edi, 0xc1
lea ebx, [ebp + 0x1dc]
mov dword [esp + 0x10], edi
lea edi, [eax + 1]
lea eax, [ebp + 0x19c]
push edi
push eax
lea eax, [esp + 0x3c]
push 0x7abf1c
push eax
call fcn.00674915
mov ecx, dword [ebx]
add esp, 0x10
mov edx, dword [esi]
lea eax, [esp + 0x14]
push 0
push 1
push eax
mov al, byte [ebp + 0x1ec]
push ecx
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x536153
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push ebx
push edx
call fcn.0054f4df
mov edx, dword [esp + 0x10]
mov eax, edi
add edx, 0x1b
cmp eax, 9
mov dword [esp + 0x10], edx
jb 0x536104
jmp 0x5364c3
cmp al, 0xb
jne 0x536252
mov al, byte [ebp + 0x19c]
test al, al
je 0x5364c3
mov eax, dword [esp + 0x20]
xor edi, edi
add eax, 0x271
lea ebx, [ebp + 0x1dc]
mov dword [esp + 0x10], eax
lea eax, [ebp + 0x19c]
push edi
push eax
lea ecx, [esp + 0x3c]
push 0x7abf1c
push ecx
call fcn.00674915
mov ecx, dword [ebx]
add esp, 0x10
mov edx, dword [esi]
lea eax, [esp + 0x14]
push 0
push 1
push eax
mov al, byte [ebp + 0x1ec]
push ecx
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x5361e7
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push ebx
push edx
lea ecx, [eax - 0x1b0]
call fcn.0054f4df
push edi
lea eax, [ebp + 0x19c]
push 0x7aeec8
push eax
lea ecx, [esp + 0x40]
push 0x7abf0c
push ecx
call fcn.00674915
mov ecx, dword [ebx]
add esp, 0x14
mov edx, dword [esi]
lea eax, [esp + 0x14]
push 0
push 1
push eax
mov al, byte [ebp + 0x1ec]
push ecx
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x536238
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push ebx
push edx
call fcn.0054f4df
mov ecx, dword [esp + 0x10]
inc edi
add ecx, 0x1b
cmp edi, 4
mov dword [esp + 0x10], ecx
jb 0x536195
jmp 0x5364c3
cmp al, 0xc
jne 0x5362e0
mov al, byte [ebp + 0x19c]
test al, al
je 0x5364c3
xor eax, eax
add edi, 0xc1
lea ebx, [ebp + 0x1dc]
mov dword [esp + 0x10], edi
lea edi, [eax + 1]
lea eax, [ebp + 0x19c]
push edi
push eax
lea eax, [esp + 0x3c]
push 0x7abf1c
push eax
call fcn.00674915
mov ecx, dword [ebx]
add esp, 0x10
mov edx, dword [esi]
lea eax, [esp + 0x14]
push 0
push 1
push eax
mov al, byte [ebp + 0x1ec]
push ecx
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x5362c9
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push ebx
push edx
call fcn.0054f4df
mov edx, dword [esp + 0x10]
mov eax, edi
add edx, 0x1b
cmp eax, 0x10
mov dword [esp + 0x10], edx
jb 0x53627a
jmp 0x5364c3
cmp al, 0xa
jne 0x536352
mov cl, byte [ebp + 0x19c]
lea eax, [ebp + 0x19c]
test cl, cl
je 0x5364c3
push eax
lea eax, [esp + 0x38]
push 0x7a34fc
push eax
call fcn.00674915
mov ecx, dword [ebp + 0x1dc]
add esp, 0xc
lea ebx, [ebp + 0x1dc]
mov edx, dword [esi]
push 0
lea eax, [esp + 0x18]
push 1
push eax
mov al, byte [ebp + 0x1ec]
push ecx
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x5364c3
mov edx, dword [esp + 0x14]
push ebx
push edx
lea ecx, [edi + 0xc1]
call fcn.0054f4df
jmp 0x5364c3
cmp al, 5
jne 0x5363e0
mov al, byte [ebp + 0x19c]
test al, al
je 0x5364c3
xor ebx, ebx
add edi, 0xc1
mov dword [esp + 0x10], edi
lea eax, [ebp + 0x19c]
push ebx
push eax
lea eax, [esp + 0x3c]
push 0x7abf1c
push eax
call fcn.00674915
mov ecx, dword [ebp + 0x1dc]
add esp, 0x10
mov edx, dword [esi]
lea edi, [ebp + 0x1dc]
push 0
lea eax, [esp + 0x18]
push 1
push eax
mov al, byte [ebp + 0x1ec]
push ecx
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x5363ca
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push edi
push edx
call fcn.0054f4df
mov ecx, dword [esp + 0x10]
inc ebx
add ecx, 0x1b
cmp ebx, 0xa
mov dword [esp + 0x10], ecx
jb 0x536374
jmp 0x5364c3
cmp al, 0xd
jne 0x5364c3
mov al, byte [ebp + 0x19c]
test al, al
je 0x5364c3
mov eax, dword [esp + 0x20]
xor edi, edi
add eax, 0x271
lea ebx, [ebp + 0x1dc]
mov dword [esp + 0x10], eax
lea eax, [ebp + 0x19c]
push edi
push eax
lea ecx, [esp + 0x3c]
push 0x7abf1c
push ecx
call fcn.00674915
mov ecx, dword [ebx]
add esp, 0x10
mov edx, dword [esi]
lea eax, [esp + 0x14]
push 0
push 1
push eax
mov al, byte [ebp + 0x1ec]
push ecx
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x53645d
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push ebx
push edx
lea ecx, [eax - 0x1b0]
call fcn.0054f4df
push 0x7aeebc
lea eax, [ebp + 0x19c]
push edi
push eax
lea ecx, [esp + 0x40]
push 0x7aeeb4
push ecx
call fcn.00674915
mov ecx, dword [ebx]
add esp, 0x14
mov edx, dword [esi]
lea eax, [esp + 0x14]
push 0
push 1
push eax
mov al, byte [ebp + 0x1ec]
push ecx
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x5364ae
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push ebx
push edx
call fcn.0054f4df
mov ecx, dword [esp + 0x10]
inc edi
add ecx, 0x1b
cmp edi, 7
mov dword [esp + 0x10], ecx
jb 0x53640b
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x5365c4
mov cl, byte [ebp + 0x144]
test cl, cl
je 0x5365c4
lea ebx, [ebp + 0x134]
mov edx, dword [esi]
push 0
lea edi, [esp + 0x1c]
push 1
push edi
mov edi, dword [ebx]
lea eax, [ebp + 0xf4]
or edi, 0x80000
push edi
push ecx
push eax
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x53651a
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
push ebx
push eax
mov ecx, edi
call fcn.0054f4df
jmp 0x53651e
mov edi, dword [esp + 0x20]
test byte [edi + 0xb], 8
je 0x536570
lea eax, [ebp + 0xf4]
lea ecx, [esp + 0x74]
push eax
push 0x7a35cc
push ecx
call fcn.00674915
mov ecx, dword [ebx]
add esp, 0xc
mov edx, dword [esi]
lea eax, [esp + 0x1c]
push 0
push 1
or ecx, 0x80000
push eax
mov al, byte [ebp + 0x144]
push ecx
lea ecx, [esp + 0x84]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x536570
mov edx, dword [esp + 0x1c]
mov dword [edi + 0x13], edx
test byte [edi + 0xb], 0x10
je 0x5365c8
lea eax, [ebp + 0xf4]
push eax
lea eax, [esp + 0x78]
push 0x7a35c4
push eax
call fcn.00674915
mov ecx, dword [ebx]
add esp, 0xc
mov edx, dword [esi]
lea eax, [esp + 0x10]
push 0
push 1
or ecx, 0x80000
push eax
mov al, byte [ebp + 0x144]
push ecx
lea ecx, [esp + 0x84]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x5365c8
mov edx, dword [esp + 0x10]
mov dword [edi + 0x17], edx
jmp 0x5365c8
mov edi, dword [esp + 0x20]
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x5366ac
mov al, byte [ebp + 0x390]
test al, al
je 0x5366ac
lea ebx, [ebp + 0x380]
mov edx, dword [esi]
push 0
lea ecx, [esp + 0x1c]
push 1
push ecx
mov ecx, dword [ebx]
push ecx
push eax
lea eax, [ebp + 0x340]
mov ecx, esi
push eax
call dword [edx + 0x54]
test eax, eax
je 0x536614
mov edx, dword [esp + 0x18]
push ebx
push edx
lea ecx, [edi + 0x36]
call fcn.0054f4df
test byte [edi + 0x41], 8
je 0x536660
lea eax, [ebp + 0x340]
push eax
lea eax, [esp + 0x78]
push 0x7a35cc
push eax
call fcn.00674915
mov ecx, dword [ebx]
add esp, 0xc
mov edx, dword [esi]
lea eax, [esp + 0x1c]
push 0
push 1
push eax
mov al, byte [ebp + 0x390]
push ecx
lea ecx, [esp + 0x84]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x536660
mov edx, dword [esp + 0x1c]
mov dword [edi + 0x49], edx
test byte [edi + 0x41], 0x10
je 0x5366ac
lea eax, [ebp + 0x340]
push eax
lea eax, [esp + 0x78]
push 0x7a35c4
push eax
call fcn.00674915
mov ecx, dword [ebx]
add esp, 0xc
mov edx, dword [esi]
lea eax, [esp + 0x10]
push 0
push 1
push eax
mov al, byte [ebp + 0x390]
push ecx
lea ecx, [esp + 0x84]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x5366ac
mov edx, dword [esp + 0x10]
mov dword [edi + 0x4d], edx
mov eax, dword [ebp + 0x30]
test eax, eax
je 0x536790
mov al, byte [ebp + 0x3e4]
test al, al
je 0x536790
lea ebx, [ebp + 0x3d4]
mov edx, dword [esi]
push 0
lea ecx, [esp + 0x1c]
push 1
push ecx
mov ecx, dword [ebx]
push ecx
push eax
lea eax, [ebp + 0x394]
mov ecx, esi
push eax
call dword [edx + 0x54]
test eax, eax
je 0x5366f8
mov edx, dword [esp + 0x18]
push ebx
push edx
lea ecx, [edi + 0x51]
call fcn.0054f4df
test byte [edi + 0x5c], 8
je 0x536744
lea eax, [ebp + 0x394]
push eax
lea eax, [esp + 0x78]
push 0x7a35cc
push eax
call fcn.00674915
mov ecx, dword [ebx]
add esp, 0xc
mov edx, dword [esi]
lea eax, [esp + 0x1c]
push 0
push 1
push eax
mov al, byte [ebp + 0x3e4]
push ecx
lea ecx, [esp + 0x84]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x536744
mov edx, dword [esp + 0x1c]
mov dword [edi + 0x64], edx
test byte [edi + 0x5c], 0x10
je 0x536790
lea eax, [ebp + 0x394]
push eax
lea eax, [esp + 0x78]
push 0x7a35c4
push eax
call fcn.00674915
mov ecx, dword [ebx]
add esp, 0xc
mov edx, dword [esi]
lea eax, [esp + 0x10]
push 0
push 1
push eax
mov al, byte [ebp + 0x3e4]
push ecx
lea ecx, [esp + 0x84]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x536790
mov edx, dword [esp + 0x10]
mov dword [edi + 0x68], edx
mov eax, dword [ebp + 0x34]
test eax, eax
je 0x536877
mov al, byte [ebp + 0x4eb]
test al, al
je 0x536877
lea ebx, [ebp + 0x4db]
mov edx, dword [esi]
push 0
lea ecx, [esp + 0x1c]
push 1
push ecx
mov ecx, dword [ebx]
push ecx
push eax
lea eax, [ebp + 0x49b]
mov ecx, esi
push eax
call dword [edx + 0x54]
test eax, eax
je 0x5367dc
mov edx, dword [esp + 0x18]
push ebx
push edx
lea ecx, [edi + 0x6c]
call fcn.0054f4df
test byte [edi + 0x77], 8
je 0x536828
lea eax, [ebp + 0x49b]
push eax
lea eax, [esp + 0x78]
push 0x7a35cc
push eax
call fcn.00674915
mov ecx, dword [ebx]
add esp, 0xc
mov edx, dword [esi]
lea eax, [esp + 0x1c]
push 0
push 1
push eax
mov al, byte [ebp + 0x4eb]
push ecx
lea ecx, [esp + 0x84]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x536828
mov edx, dword [esp + 0x1c]
mov dword [edi + 0x7f], edx
test byte [edi + 0x77], 0x10
je 0x536877
lea eax, [ebp + 0x49b]
push eax
lea eax, [esp + 0x78]
push 0x7a35c4
push eax
call fcn.00674915
mov ecx, dword [ebx]
add esp, 0xc
mov edx, dword [esi]
lea eax, [esp + 0x10]
push 0
push 1
push eax
mov al, byte [ebp + 0x4eb]
push ecx
lea ecx, [esp + 0x84]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x536877
mov edx, dword [esp + 0x10]
mov dword [edi + 0x83], edx
mov eax, dword [ebp + 0x38]
test eax, eax
je 0x53696a
mov al, byte [ebp + 0x438]
test al, al
je 0x53696a
lea ebx, [ebp + 0x428]
mov edx, dword [esi]
push 0
lea ecx, [esp + 0x1c]
push 1
push ecx
mov ecx, dword [ebx]
push ecx
push eax
lea eax, [ebp + 0x3e8]
mov ecx, esi
push eax
call dword [edx + 0x54]
test eax, eax
je 0x5368c6
mov edx, dword [esp + 0x18]
push ebx
push edx
lea ecx, [edi + 0x87]
call fcn.0054f4df
test byte [edi + 0x92], 8
je 0x536918
lea eax, [ebp + 0x3e8]
push eax
lea eax, [esp + 0x78]
push 0x7a35cc
push eax
call fcn.00674915
mov ecx, dword [ebx]
add esp, 0xc
mov edx, dword [esi]
lea eax, [esp + 0x1c]
push 0
push 1
push eax
mov al, byte [ebp + 0x438]
push ecx
lea ecx, [esp + 0x84]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x536918
mov edx, dword [esp + 0x1c]
mov dword [edi + 0x9a], edx
test byte [edi + 0x92], 0x10
je 0x53696a
lea eax, [ebp + 0x3e8]
push eax
lea eax, [esp + 0x78]
push 0x7a35c4
push eax
call fcn.00674915
mov ecx, dword [ebx]
add esp, 0xc
mov edx, dword [esi]
lea eax, [esp + 0x10]
push 0
push 1
push eax
mov al, byte [ebp + 0x438]
push ecx
lea ecx, [esp + 0x84]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x54]
test eax, eax
je 0x53696a
mov edx, dword [esp + 0x10]
mov dword [edi + 0x9e], edx
mov ebx, dword [esp + 0x1c0]
mov eax, dword [ebp + 0x64]
test eax, eax
je 0x536987
movzx ax, byte [ebp + 0x46b]
mov word [edi + 0x456], ax
mov ax, word [edi + 0x43d]
mov ecx, 0xff
test ah, 2
je 0x53699f
add word [edi + 0x456], cx
mov edx, dword [ebp + 0x68]
test edx, edx
je 0x5369b5
movzx dx, byte [ebp + 0x46c]
mov word [edi + 0x458], dx
test ah, 4
je 0x5369c1
add word [edi + 0x458], cx
mov edx, dword [ebp + 0x6c]
test edx, edx
je 0x5369d7
movzx dx, byte [ebp + 0x46d]
mov word [edi + 0x45a], dx
test ah, 8
je 0x5369e3
add word [edi + 0x45a], cx
mov eax, dword [ebp + 0x70]
test eax, eax
je 0x5369f8
mov ax, word [ebp + 0x454]
mov word [edi + 0x45c], ax
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x536a0b
mov cl, byte [ebp + 0x442]
mov byte [edi + 0x45e], cl
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x536a1e
mov edx, dword [ebp + 0x497]
mov dword [edi + 0x45f], edx
mov al, byte [edi + 0x44d]
cmp al, 0xc
je 0x536a38
cmp al, 0xf
je 0x536a38
mov dword [edi + 0x482], 0
jmp 0x536a42
mov dword [edi + 0x482], 1
mov eax, dword [ebx + 0xa3c7]
test eax, eax
jne 0x536a66
mov cl, byte [edi + 0x44e]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x70]
mov edx, dword [eax + 0x195]
mov dword [edi + 0x449], edx
mov eax, dword [ebp + 0x3c]
test eax, eax
je 0x536a7b
mov ax, word [ebp + 0x448]
mov word [edi + 0x441], ax
mov eax, dword [ebp + 0x40]
test eax, eax
je 0x536a90
mov cx, word [ebp + 0x44a]
mov word [edi + 0x443], cx
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x536aa5
mov dx, word [ebp + 0x450]
mov word [edi + 0x445], dx
mov eax, dword [ebp + 0x48]
test eax, eax
je 0x536aba
mov ax, word [ebp + 0x452]
mov word [edi + 0x447], ax
mov eax, dword [ebp + 0xc4]
test eax, eax
je 0x536ad0
mov cl, byte [ebp + 0x496]
mov byte [edi + 0x466], cl
mov eax, dword [ebp + 0xc8]
test eax, eax
je 0x536ae6
mov dl, byte [ebp + 0x4ef]
mov byte [edi + 0x453], dl
mov eax, dword [ebp + 0xcc]
test eax, eax
je 0x536afc
mov al, byte [ebp + 0x4f0]
mov byte [edi + 0x454], al
mov eax, dword [ebx + 0xa3c7]
test eax, eax
jne 0x536b96
lea edx, [ebp + 0x49b]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x536b96
mov ecx, dword [esp + 0x1c0]
xor esi, esi
push esi
lea edi, [esp + 0x1c]
mov eax, dword [ecx + 4]
push 1
push edi
push esi
mov ecx, dword [eax + 0x10]
push 5
push edx
mov eax, dword [ecx]
call dword [eax + 0x54]
mov edx, dword [esp + 0x20]
mov ecx, 0x1000
mov word [esp + 0x28], si
mov byte [esp + 0x2e], 5
lea eax, [edx + 0x467]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x2f], esi
mov dword [eax + 0xf], edx
mov edx, eax
mov dword [edx], ecx
mov ecx, dword [esp + 0x28]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x2c]
mov dword [edx + 8], ecx
mov cx, word [esp + 0x30]
mov word [edx + 0xc], cx
mov cl, byte [esp + 0x32]
mov byte [edx + 0xe], cl
mov bl, byte [eax + 0xa]
mov ecx, dword [eax + 0xb]
xor edx, edx
test bl, bl
setne dl
or ecx, edx
mov dword [eax + 0xb], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a8
ret 0xc