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

Disassembly:
mov eax, 0x45362150
call fcn.4534228c
sub esp, 0x108
mov eax, dword [ebp + 8]
push ebx
add eax, 0xfffffffd
push esi
cmp eax, 0x29
push edi
mov ebx, ecx
ja case.0x4531416f.8
jmp dword [eax*4 + 0x45314b7f]
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x453141e0
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0x114]
mov eax, ecx
mov esi, edi
mov edi, edx
push 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x114]
push 0
push eax
push dword [ebp + 0x10]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call sym.HHA.dll_Ordinal_316
lea eax, [ebp - 0x114]
push eax
call sym.HHA.dll_Ordinal_23
mov esi, eax
mov eax, dword [ebx + 0x7c]
test eax, eax
je 0x453141d8
push eax
call fcn.45341e40
pop ecx
mov dword [ebx + 0x7c], esi
jmp case.0x4531416f.10
mov eax, dword [ebx + 0x7c]
test eax, eax
je case.0x4531416f.10
push eax
call fcn.45341e40
and dword [ebx + 0x7c], 0
pop ecx
jmp case.0x4531416f.10
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je case.0x4531416f.10
mov ecx, dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_196
mov dword [ebx + 0x30], eax
jmp case.0x4531416f.10
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x45314251
push dword [ebp + 0xc]
lea esi, [ebx + 0x84]
call sym.HHA.dll_Ordinal_23
mov edi, eax
mov eax, dword [esi]
test eax, eax
je 0x4531424a
push eax
call fcn.45341e40
pop ecx
mov dword [esi], edi
jmp case.0x4531416f.10
mov eax, dword [ebx + 0x84]
add ebx, 0x84
test eax, eax
je case.0x4531416f.10
jmp 0x4531491b
mov esi, dword [ebx + 0x3c]
test esi, esi
je 0x4531427e
movsx eax, byte [esi]
push eax
call fcn.45341e40
and byte [esi], 0
pop ecx
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je case.0x4531416f.10
push dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_23
mov dword [ebx + 0x3c], eax
jmp case.0x4531416f.10
mov esi, dword [ebx + 0x38]
test esi, esi
je 0x453142b5
movsx eax, byte [esi]
push eax
call fcn.45341e40
and byte [esi], 0
pop ecx
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je case.0x4531416f.10
push dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_23
mov dword [ebx + 0x38], eax
jmp case.0x4531416f.10
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4531430b
push dword [ebp + 0xc]
lea esi, [ebx + 0x90]
call sym.HHA.dll_Ordinal_23
mov edi, eax
mov eax, dword [esi]
test eax, eax
je 0x45314304
push eax
call fcn.45341e40
pop ecx
mov dword [esi], edi
jmp case.0x4531416f.10
add ebx, 0x90
jmp 0x4531434c
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x45314346
push dword [ebp + 0xc]
lea esi, [ebx + 0x8c]
call sym.HHA.dll_Ordinal_23
mov edi, eax
mov eax, dword [esi]
test eax, eax
je 0x4531433f
push eax
call fcn.45341e40
pop ecx
mov dword [esi], edi
jmp case.0x4531416f.10
add ebx, 0x8c
mov eax, dword [ebx]
test eax, eax
je case.0x4531416f.10
jmp 0x4531491b
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4531438a
push dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_23
mov esi, eax
mov eax, dword [ebx + 0x60]
test eax, eax
je 0x45314382
push eax
call fcn.45341e40
pop ecx
mov dword [ebx + 0x60], esi
jmp case.0x4531416f.10
mov eax, dword [ebx + 0x60]
test eax, eax
je case.0x4531416f.10
push eax
call fcn.45341e40
and dword [ebx + 0x60], 0
pop ecx
jmp case.0x4531416f.10
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4531440f
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0x114]
mov eax, ecx
mov esi, edi
mov edi, edx
push 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x114]
push 0
push eax
push dword [ebp + 0x10]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call sym.HHA.dll_Ordinal_316
lea eax, [ebp - 0x114]
push eax
call sym.HHA.dll_Ordinal_23
mov esi, eax
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x45314407
push eax
call fcn.45341e40
pop ecx
mov dword [ebx + 0x64], esi
jmp case.0x4531416f.10
mov eax, dword [ebx + 0x64]
test eax, eax
je case.0x4531416f.10
push eax
call fcn.45341e40
and dword [ebx + 0x64], 0
pop ecx
jmp case.0x4531416f.10
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x453144a2
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0x114]
mov eax, ecx
mov esi, edi
mov edi, edx
push 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x114]
push 0
push eax
push dword [ebp + 0x10]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call sym.HHA.dll_Ordinal_316
lea eax, [ebp - 0x114]
push eax
call sym.HHA.dll_Ordinal_23
mov esi, eax
mov eax, dword [ebx + 0x68]
test eax, eax
je 0x4531448c
push eax
call fcn.45341e40
pop ecx
mov dword [ebx + 0x68], esi
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 0xc
mov eax, dword [ebx + 0x68]
test eax, eax
je case.0x4531416f.8
push eax
call fcn.45341e40
and dword [ebx + 0x68], 0
pop ecx
jmp case.0x4531416f.8
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x45314520
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0x114]
mov eax, ecx
mov esi, edi
mov edi, edx
push 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x114]
push 0
push eax
push dword [ebp + 0x10]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call sym.HHA.dll_Ordinal_316
lea eax, [ebp - 0x114]
push eax
call sym.HHA.dll_Ordinal_23
mov esi, eax
mov eax, dword [ebx + 0x74]
test eax, eax
je 0x45314518
push eax
call fcn.45341e40
pop ecx
mov dword [ebx + 0x74], esi
jmp case.0x4531416f.10
mov eax, dword [ebx + 0x74]
test eax, eax
je case.0x4531416f.10
push eax
call fcn.45341e40
and dword [ebx + 0x74], 0
pop ecx
jmp case.0x4531416f.10
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x453145a5
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0x114]
mov eax, ecx
mov esi, edi
mov edi, edx
push 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x114]
push 0
push eax
push dword [ebp + 0x10]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call sym.HHA.dll_Ordinal_316
lea eax, [ebp - 0x114]
push eax
call sym.HHA.dll_Ordinal_23
mov esi, eax
mov eax, dword [ebx + 0x70]
test eax, eax
je 0x4531459d
push eax
call fcn.45341e40
pop ecx
mov dword [ebx + 0x70], esi
jmp case.0x4531416f.8
mov eax, dword [ebx + 0x70]
test eax, eax
je case.0x4531416f.8
push eax
call fcn.45341e40
and dword [ebx + 0x70], 0
pop ecx
jmp case.0x4531416f.8
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x453145ef
push dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_23
mov esi, eax
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x453145e7
push eax
call fcn.45341e40
pop ecx
mov dword [ebx + 0x78], esi
jmp case.0x4531416f.10
mov eax, dword [ebx + 0x78]
test eax, eax
je case.0x4531416f.10
push eax
call fcn.45341e40
and dword [ebx + 0x78], 0
pop ecx
jmp case.0x4531416f.10
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4531463d
push dword [ebp + 0xc]
lea esi, [ebx + 0x9c]
call sym.HHA.dll_Ordinal_23
mov edi, eax
mov eax, dword [esi]
test eax, eax
je 0x45314636
push eax
call fcn.45341e40
pop ecx
mov dword [esi], edi
jmp case.0x4531416f.10
mov eax, dword [ebx + 0x9c]
add ebx, 0x9c
test eax, eax
je case.0x4531416f.10
jmp 0x4531491b
push dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_314
sub eax, 6
neg eax
sbb eax, eax
inc eax
mov dword [ebx + 0x2c], eax
jmp case.0x4531416f.10
push dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_314
sub eax, 6
neg eax
sbb eax, eax
inc eax
mov dword [ebx + 0x4c], eax
jmp case.0x4531416f.10
push dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_314
sub eax, 6
neg eax
sbb eax, eax
inc eax
mov dword [ebx + 0x50], eax
jmp case.0x4531416f.10
mov ecx, dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_196
test eax, eax
jl 0x453146c1
cmp eax, 9
mov dword [ebx + 0x18], 1
jle 0x453146b9
push 9
pop eax
mov dword [ebx + 0x20], eax
jmp case.0x4531416f.10
and dword [ebx + 0x18], 0
jmp case.0x4531416f.10
push dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_314
sub eax, 6
neg eax
sbb eax, eax
inc eax
mov dword [ebx + 0x28], eax
jmp case.0x4531416f.10
push dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_314
sub eax, 6
neg eax
sbb eax, eax
inc eax
mov dword [ebx + 0x24], eax
jmp case.0x4531416f.10
push dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_314
sub eax, 6
neg eax
sbb eax, eax
inc eax
mov dword [ebx + 0x1c], eax
jmp case.0x4531416f.10
push dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_314
sub eax, 6
neg eax
sbb eax, eax
inc eax
mov dword [ebx + 0xc], eax
jmp case.0x4531416f.10
push dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_314
sub eax, 6
neg eax
sbb eax, eax
inc eax
mov dword [ebx + 4], eax
jmp case.0x4531416f.10
push dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_314
sub eax, 6
neg eax
sbb eax, eax
inc eax
mov dword [ebx + 0x10], eax
jmp case.0x4531416f.10
push dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_314
sub eax, 6
neg eax
sbb eax, eax
inc eax
mov dword [ebx + 0x34], eax
jmp case.0x4531416f.10
push dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_314
xor ecx, ecx
cmp eax, 6
setne cl
mov dword [ebx + 8], ecx
jmp case.0x4531416f.10
mov esi, dword [ebx + 0x40]
test esi, esi
je 0x4531479e
movsx eax, byte [esi]
push eax
call fcn.45341e40
and byte [esi], 0
pop ecx
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je case.0x4531416f.10
push dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_23
mov dword [ebx + 0x40], eax
jmp case.0x4531416f.10
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x453147f4
push dword [ebp + 0xc]
lea esi, [ebx + 0x88]
call sym.HHA.dll_Ordinal_23
mov edi, eax
mov eax, dword [esi]
test eax, eax
je 0x453147ed
push eax
call fcn.45341e40
pop ecx
mov dword [esi], edi
jmp case.0x4531416f.8
mov eax, dword [ebx + 0x88]
add ebx, 0x88
test eax, eax
je case.0x4531416f.8
push eax
call fcn.45341e40
and dword [ebx], 0
pop ecx
jmp case.0x4531416f.8
mov esi, dword [ebp + 0xc]
push 2
mov edi, 0x453661b4
pop ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x45314844
test al, al
je 0x45314840
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x45314844
add esi, ecx
add edi, ecx
test al, al
jne 0x45314822
xor eax, eax
jmp 0x45314849
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x45314859
mov dword [ebx + 0x48], 1
jmp case.0x4531416f.10
mov esi, dword [ebp + 0xc]
mov edi, 0x453661b0
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x45314883
test al, al
je 0x4531487f
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x45314883
add esi, ecx
add edi, ecx
test al, al
jne 0x45314861
xor eax, eax
jmp 0x45314888
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x45314894
mov dword [ebx + 0x48], ecx
jmp case.0x4531416f.10
and dword [ebx + 0x48], 0
jmp case.0x4531416f.10
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x453148d0
push dword [ebp + 0xc]
lea esi, [ebx + 0x98]
call sym.HHA.dll_Ordinal_23
mov edi, eax
mov eax, dword [esi]
test eax, eax
je 0x453148c9
push eax
call fcn.45341e40
pop ecx
mov dword [esi], edi
jmp case.0x4531416f.10
add ebx, 0x98
jmp 0x45314911
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4531490b
push dword [ebp + 0xc]
lea esi, [ebx + 0x94]
call sym.HHA.dll_Ordinal_23
mov edi, eax
mov eax, dword [esi]
test eax, eax
je 0x45314904
push eax
call fcn.45341e40
pop ecx
mov dword [esi], edi
jmp case.0x4531416f.10
add ebx, 0x94
mov eax, dword [ebx]
test eax, eax
je case.0x4531416f.10
push eax
call fcn.45341e40
and dword [ebx], 0
pop ecx
jmp case.0x4531416f.10
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je case.0x4531416f.10
cmp dword [ebx + 0xa4], eax
jne 0x4531496d
push 0x58
call fcn.45342660
pop ecx
mov dword [ebp + 0x10], eax
and dword [ebp - 4], 0
test eax, eax
je 0x45314961
mov ecx, eax
call sym.HHA.dll_Ordinal_35
jmp 0x45314963
xor eax, eax
or dword [ebp - 4], 0xffffffff
mov dword [ebx + 0xa4], eax
push dword [ebp + 0xc]
push dword [ebx + 0xa4]
call sym.HHA.dll_Ordinal_46
jmp case.0x4531416f.10
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je case.0x4531416f.10
xor esi, esi
cmp dword [ebx + 0xa8], esi
jne 0x453149c4
push 0x58
call fcn.45342660
pop ecx
mov dword [ebp - 0x10], eax
cmp eax, esi
mov dword [ebp - 4], 1
je 0x453149bc
mov ecx, eax
call sym.HHA.dll_Ordinal_35
jmp 0x453149be
xor eax, eax
mov dword [ebx + 0xa8], eax
mov dword [ebp + 8], esi
push 1
lea ecx, [ebp + 8]
push dword [ebp + 0xc]
mov dword [ebp - 4], 2
call fcn.4530f85c
mov dword [ebp + 0x10], esi
push 1
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 3
call fcn.4530f85c
push dword [ebp + 0x10]
push dword [ebp + 8]
push dword [ebx + 0xa8]
call sym.HHA.dll_Ordinal_56
cmp dword [ebp + 0x10], esi
je 0x45314a0c
push dword [ebp + 0x10]
call fcn.45341e40
pop ecx
cmp dword [ebp + 8], esi
je case.0x4531416f.10
push dword [ebp + 8]
call fcn.45341e40
pop ecx
jmp case.0x4531416f.10
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je case.0x4531416f.10
cmp dword [ebx + 0x44], eax
je 0x45314ab9
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov edx, dword [ebx + 0x44]
not ecx
dec ecx
mov edi, edx
mov esi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esi + ecx + 3]
push eax
push edx
call fcn.453422b0
pop ecx
mov edi, 0x453661ac
pop ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [ebx + 0x44]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [ebx + 0x44]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp case.0x4531416f.10
push dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_23
mov dword [ebx + 0x44], eax
jmp case.0x4531416f.10
mov ecx, dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_196
mov dword [ebx + 0x14], eax
jmp case.0x4531416f.10
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x45314b05
push dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_23
mov esi, eax
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x45314b00
push eax
call fcn.45341e40
pop ecx
mov dword [ebx + 0x6c], esi
jmp case.0x4531416f.10
mov eax, dword [ebx + 0x6c]
test eax, eax
je case.0x4531416f.10
push eax
call fcn.45341e40
and dword [ebx + 0x6c], 0
pop ecx
jmp case.0x4531416f.10
push dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_314
sub eax, 6
neg eax
sbb eax, eax
inc eax
mov dword [ebx + 0x54], eax
jmp case.0x4531416f.10
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x45314b61
push dword [ebp + 0xc]
call sym.HHA.dll_Ordinal_23
mov esi, eax
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x45314b55
push eax
call fcn.45341e40
pop ecx
mov dword [ebx + 0x5c], esi
mov dword [ebx + 0x58], 1
jmp case.0x4531416f.10
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x45314b73
push eax
call fcn.45341e40
and dword [ebx + 0x5c], 0
pop ecx
and dword [ebx + 0x58], 0
push 1
pop eax
jmp 0x45314491