Function at 0x404b68
Capabilities:
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x19c
mov edi, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x38]
mov edx, dword [ebp + 0x64]
mov ebx, dword [ebp + 0x6c]
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x144], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0x154], eax
mov eax, edi
mov byte [ebp - 0x15c], al
mov eax, ecx
mov word [ebp - 0x160], ax
mov eax, dword [ebp + 0x3c]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp + 0x40]
mov dword [ebp - 0x164], eax
mov eax, dword [ebp + 0x4c]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp + 0x50]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp + 0x5c]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp + 0x60]
mov dword [ebp - 0x174], eax
mov eax, edx
mov word [ebp - 0x17c], ax
mov eax, ebx
mov byte [ebp - 0x180], al
mov eax, dword [ebp + 0x70]
mov dword [ebp - 0x188], eax
mov eax, dword [ebp + 0x74]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x1c], 0x1e9b
mov byte [ebp - 0x1d], 1
cmp byte [ebp - 0x1d], 0
je 0x404c50
mov dword [ebp - 0x1c], 0x1ff5
mov byte [ebp - 0x1d], 0
jmp 0x404c3d
cmp dword [ebp - 0x1c], 0x7ac
jne 0x404c62
mov dword [ebp - 0x1c], 0x2318
jmp 0x404c72
cmp dword [ebp - 0x1c], 0x1ff5
jne 0x404c72
mov dword [ebp - 0x1c], 0xc93
cmp dword [ebp - 0x1c], 0xe4
jne 0x404c84
mov dword [ebp - 0x1c], 0x1eb
jmp 0x404c94
cmp dword [ebp - 0x1c], 0xc93
jne 0x404c94
mov dword [ebp - 0x1c], 0x677
mov byte [ebp - 0x1e], 1
cmp byte [ebp - 0x1e], 0
je 0x404cab
mov dword [ebp - 0x1c], 0xd13
mov byte [ebp - 0x1e], 0
jmp 0x404c98
cmp dword [ebp - 0x1c], 0xd13
jne 0x404cbb
mov dword [ebp - 0x1c], 0x506
mov dword [ebp - 0x1c], 0x1cfc
cmp dword [ebp - 0x1c], 0x1cfc
jne 0x404cd2
mov dword [ebp - 0x1c], 0xb20
cmp dword [ebp - 0x1c], 0x13ef
jne 0x404ce4
mov dword [ebp - 0x1c], 0x4a6
jmp 0x404cf4
cmp dword [ebp - 0x1c], 0xb20
jne 0x404cf4
mov dword [ebp - 0x1c], 0x53e
mov dword [ebp - 0x1c], 0xa39
cmp dword [ebp - 0x1c], 0xa39
jne 0x404d0b
mov dword [ebp - 0x1c], 0x1cfd
cmp dword [ebp - 0x1c], 0x1cfd
jne 0x404d1b
mov dword [ebp - 0x1c], 0x1ec4
mov byte [ebp - 0x1f], 1
cmp byte [ebp - 0x1f], 0
je 0x404d32
mov dword [ebp - 0x1c], 0xbf0
mov byte [ebp - 0x1f], 0
jmp 0x404d1f
cmp dword [ebp - 0x1c], 0xbf0
jne 0x404d42
mov dword [ebp - 0x1c], 0x1618
mov byte [ebp - 0x20], 1
cmp byte [ebp - 0x20], 0
je 0x404d59
mov dword [ebp - 0x1c], 0xbbf
mov byte [ebp - 0x20], 0
jmp 0x404d46
mov dword [ebp - 0x1c], 0x14b5
mov byte [ebp - 0x21], 1
cmp byte [ebp - 0x21], 0
je 0x404d77
mov dword [ebp - 0x1c], 0x1d13
mov byte [ebp - 0x21], 0
jmp 0x404d64
cmp dword [ebp - 0x1c], 0x1d13
jne 0x404d87
mov dword [ebp - 0x1c], 0x110e
mov byte [ebp - 0x22], 1
cmp byte [ebp - 0x22], 0
je 0x404d9e
mov dword [ebp - 0x1c], 0x12e2
mov byte [ebp - 0x22], 0
jmp 0x404d8b
mov byte [ebp - 0x23], 1
cmp byte [ebp - 0x23], 0
je 0x404db5
mov dword [ebp - 0x1c], 0x2044
mov byte [ebp - 0x23], 0
jmp 0x404da2
mov dword [ebp - 0x1c], 0x1e45
cmp dword [ebp - 0x1c], 0x139f
jne 0x404dce
mov dword [ebp - 0x1c], 0xbf6
jmp 0x404dde
cmp dword [ebp - 0x1c], 0x1e45
jne 0x404dde
mov dword [ebp - 0x1c], 0x604
mov byte [ebp - 0x24], 1
cmp byte [ebp - 0x24], 0
je 0x404df5
mov dword [ebp - 0x1c], 0x74d
mov byte [ebp - 0x24], 0
jmp 0x404de2
mov byte [ebp - 0x25], 1
cmp byte [ebp - 0x25], 0
je 0x404e0c
mov dword [ebp - 0x1c], 0x1ca9
mov byte [ebp - 0x25], 0
jmp 0x404df9
mov dword [ebp - 0x1c], 0xdc6
cmp dword [ebp - 0x1c], 0xdc6
jne 0x404e23
mov dword [ebp - 0x1c], 0xa22
cmp dword [ebp - 0x1c], 0x3b
jne 0x404e32
mov dword [ebp - 0x1c], 0x25a
jmp 0x404e42
cmp dword [ebp - 0x1c], 0xa22
jne 0x404e42
mov dword [ebp - 0x1c], 0x1d6a
cmp dword [ebp - 0x1c], 0x1d6a
jne 0x404e52
mov dword [ebp - 0x1c], 0x5f
cmp dword [ebp - 0x1c], 0x5f
jne 0x404e5f
mov dword [ebp - 0x1c], 0x552
cmp dword [ebp - 0x1c], 0x552
jne 0x404e6f
mov dword [ebp - 0x1c], 0x5f3
mov dword [ebp - 0x1c], 0x1e4c
mov dword [ebp - 0x1c], 0x73f
mov dword [ebp - 0x1c], 0x1296
cmp dword [ebp - 0x1c], 0x1296
jne 0x404e94
mov dword [ebp - 0x1c], 0x11ba
mov byte [ebp - 0x26], 1
cmp byte [ebp - 0x26], 0
je 0x404eab
mov dword [ebp - 0x1c], 0x1a73
mov byte [ebp - 0x26], 0
jmp 0x404e98
mov dword [ebp - 0x1c], 0x4bc
mov dword [ebp - 0x1c], 0x23a6
cmp dword [ebp - 0x1c], 0x23a6
jne 0x404ec9
mov dword [ebp - 0x1c], 0xcf6
cmp dword [ebp - 0x1c], 0x281
jne 0x404edb
mov dword [ebp - 0x1c], 0x855
jmp 0x404eeb
cmp dword [ebp - 0x1c], 0xcf6
jne 0x404eeb
mov dword [ebp - 0x1c], 0x1ecf
cmp dword [ebp - 0x1c], 0x1ecf
jne 0x404efb
mov dword [ebp - 0x1c], 0x15ff
mov byte [ebp - 0x27], 1
cmp byte [ebp - 0x27], 0
je 0x404f12
mov dword [ebp - 0x1c], 0x556
mov byte [ebp - 0x27], 0
jmp 0x404eff
cmp dword [ebp - 0x1c], 0x1e68
jne 0x404f24
mov dword [ebp - 0x1c], 0x6d0
jmp 0x404f34
cmp dword [ebp - 0x1c], 0x556
jne 0x404f34
mov dword [ebp - 0x1c], 0x5c3
mov dword [ebp - 0x1c], 0x17a7
cmp dword [ebp - 0x1c], 0x17a7
jne 0x404f4b
mov dword [ebp - 0x1c], 0x1b85
cmp dword [ebp - 0x1c], 0x1377
jne 0x404f5d
mov dword [ebp - 0x1c], 0x73d
jmp 0x404f6d
cmp dword [ebp - 0x1c], 0x1b85
jne 0x404f6d
mov dword [ebp - 0x1c], 0x68e
cmp dword [ebp - 0x1c], 0x141d
jne 0x404f7f
mov dword [ebp - 0x1c], 0xfed
jmp 0x404f8f
cmp dword [ebp - 0x1c], 0x68e
jne 0x404f8f
mov dword [ebp - 0x1c], 0xcd0
cmp dword [ebp - 0x1c], 0x2425
jne 0x404fa1
mov dword [ebp - 0x1c], 0x1d74
jmp 0x404fb1
cmp dword [ebp - 0x1c], 0xcd0
jne 0x404fb1
mov dword [ebp - 0x1c], 0xc64
cmp dword [ebp - 0x1c], 0xc64
jne 0x404fc1
mov dword [ebp - 0x1c], 0x186a
cmp dword [ebp - 0x1c], 0x798
jne 0x404fd3
mov dword [ebp - 0x1c], 0x2013
jmp 0x404fe3
cmp dword [ebp - 0x1c], 0x186a
jne 0x404fe3
mov dword [ebp - 0x1c], 0x1cde
cmp dword [ebp - 0x1c], 0x1cde
jne 0x404ff3
mov dword [ebp - 0x1c], 0xe15
mov dword [ebp - 0x1c], 0x1f43
sub byte [ebp - 0x15c], 0xc
mov eax, dword [ebp + 0x10]
cdq
mov ecx, dword [ebp - 0x148]
mov ebx, ecx
imul ebx, edx
mov ecx, dword [ebp - 0x144]
imul ecx, eax
add ecx, ebx
mul dword [ebp - 0x148]
add ecx, edx
mov edx, ecx
mov ecx, dword [ebp - 0x150]
mov ebx, dword [ebp - 0x14c]
mov esi, ecx
mov edi, ebx
shld edi, esi, 2
shl esi, 2
sub eax, esi
sbb edx, edi
mov ecx, eax
mov ebx, edx
mov eax, dword [ebp - 0x158]
mov edx, dword [ebp - 0x154]
add eax, ecx
adc edx, ebx
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, 0x4d3aa0
call fcn.004739b0
sub esp, 8
mov dword [ebp - 0x2c], 0x63e419
mov eax, dword [0x4d4bef]
mov dword [ebp - 0xe1], eax
mov eax, dword [0x4d4bf3]
mov dword [ebp - 0xdd], eax
mov eax, dword [0x4d4bf7]
mov dword [ebp - 0xd9], eax
mov eax, dword [0x4d4bfb]
mov dword [ebp - 0xd5], eax
mov dword [esp + 0xc], 0x3d
mov dword [esp + 8], 0x10
lea eax, [ebp - 0xe1]
mov dword [esp + 4], eax
mov dword [esp], str.300249456223590547572980094341022995127409405084449091122061
call fcn.00404439
lea eax, [ebp - 0xd1]
mov ecx, eax
call fcn.0046ba00
lea eax, [ebp - 0xfc]
lea edx, [ebp - 0xd1]
mov dword [esp + 4], edx
mov dword [esp], str.kernel
mov ecx, eax
call fcn.0049aee0
sub esp, 8
lea eax, [ebp - 0xd1]
mov ecx, eax
call fcn.0046ba30
lea eax, [ebp - 0xfc]
mov dword [esp], str.32.dll
mov ecx, eax
call fcn.0049b740
sub esp, 4
mov dword [esp], 0x30
call fcn.004015c0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x11c]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x3c]
mov edx, eax
mov eax, dword [ebp - 0x38]
add eax, edx
mov edx, dword [eax + 0x7c]
mov eax, dword [eax + 0x78]
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], edx
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x34]
add eax, edx
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x120], eax
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x128]
cmp edx, eax
setne al
test al, al
je 0x4052d6
mov eax, dword [ebp - 0x124]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
lea edx, [eax - 1]
mov dword [ebp - 0x3c], edx
test eax, eax
setne al
test al, al
je 0x4052d6
mov dword [ebp - 0x48], 0xee24a2e1
mov dword [ebp - 0x44], 0xeef368c0
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov eax, edx
xor edx, edx
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x124]
mov ebx, dword [eax + 0x20]
mov eax, dword [ebp - 0x4c]
shl eax, 2
add eax, ebx
add eax, ecx
mov eax, dword [eax]
add eax, edx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], esi
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x50]
lea edx, [eax + 1]
mov dword [ebp - 0x50], edx
movzx eax, byte [eax]
mov byte [ebp - 0x59], al
cmp byte [ebp - 0x59], 0
jne 0x405239
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x70], 0xee24a2e1
mov dword [ebp - 0x6c], 0xeef368c0
mov eax, dword [ebp - 0x70]
jmp 0x405270
movsx eax, byte [ebp - 0x59]
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x60], edx
mov byte [ebp - 0x61], al
cmp byte [ebp - 0x61], 0x40
jle 0x40525e
cmp byte [ebp - 0x61], 0x5a
jg 0x40525e
movzx eax, byte [ebp - 0x61]
or eax, 0x20
movsx eax, al
jmp 0x405262
movsx eax, byte [ebp - 0x61]
xor eax, dword [ebp - 0x60]
imul eax, eax, 0x1000193
mov dword [ebp - 0x58], eax
jmp 0x40520e
cmp edx, eax
sete al
test al, al
je 0x4051a7
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x74], eax
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x124]
mov eax, dword [eax + 0x1c]
add eax, edx
mov dword [ebp - 0x78], eax
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x124]
mov eax, dword [eax + 0x24]
add eax, edx
mov dword [ebp - 0x7c], eax
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x74]
lea ecx, [eax + eax]
mov eax, dword [ebp - 0x7c]
add eax, ecx
movzx eax, word [eax]
movzx eax, ax
lea ecx, [eax*4]
mov eax, dword [ebp - 0x78]
add eax, ecx
mov eax, dword [eax]
add eax, edx
mov ebx, eax
jmp 0x4052fc
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x11c], eax
mov eax, 1
test al, al
jne 0x40512b
mov ebx, 0
lea eax, [ebp - 0xfc]
mov ecx, eax
call fcn.0043d5c0
mov dword [esp], eax
call ebx
sub esp, 4
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x100], 0
mov dword [esp], 0x30
call fcn.004015c0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x104]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x3c]
mov edx, eax
mov eax, dword [ebp - 0x88]
add eax, edx
mov edx, dword [eax + 0x7c]
mov eax, dword [eax + 0x78]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], edx
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x84]
add eax, edx
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x108], eax
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x110]
cmp edx, eax
setne al
test al, al
je 0x405570
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
lea edx, [eax - 1]
mov dword [ebp - 0x8c], edx
test eax, eax
setne al
test al, al
je 0x405570
mov dword [ebp - 0x98], 0x2a44165
mov dword [ebp - 0x94], 0x7bf8c3e5
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp - 0x94]
mov eax, edx
xor edx, edx
mov esi, eax
mov edi, edx
mov edi, esi
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x9c], eax
mov edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp - 0x10c]
mov ebx, dword [eax + 0x20]
mov eax, dword [ebp - 0x9c]
shl eax, 2
add eax, ebx
add eax, ecx
mov eax, dword [eax]
add eax, edx
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0xa4], edi
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa0]
lea edx, [eax + 1]
mov dword [ebp - 0xa0], edx
movzx eax, byte [eax]
mov byte [ebp - 0xa9], al
cmp byte [ebp - 0xa9], 0
jne 0x40549d
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0xc0], 0x2a44165
mov dword [ebp - 0xbc], 0x7bf8c3e5
mov eax, dword [ebp - 0xc0]
jmp 0x4054f5
movsx eax, byte [ebp - 0xa9]
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0xb0], edx
mov byte [ebp - 0xb1], al
cmp byte [ebp - 0xb1], 0x40
jle 0x4054d7
cmp byte [ebp - 0xb1], 0x5a
jg 0x4054d7
movzx eax, byte [ebp - 0xb1]
or eax, 0x20
movsx eax, al
jmp 0x4054de
movsx eax, byte [ebp - 0xb1]
xor eax, dword [ebp - 0xb0]
imul eax, eax, 0x1000193
mov dword [ebp - 0xa8], eax
jmp 0x40545a
cmp edx, eax
sete al
test al, al
je 0x4053ca
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xc4], eax
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + 0x1c]
add eax, edx
mov dword [ebp - 0xc8], eax
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + 0x24]
add eax, edx
mov dword [ebp - 0xcc], eax
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp - 0xc4]
lea ecx, [eax + eax]
mov eax, dword [ebp - 0xcc]
add eax, ecx
movzx eax, word [eax]
movzx eax, ax
lea ecx, [eax*4]
mov eax, dword [ebp - 0xc8]
add eax, ecx
mov eax, dword [eax]
add eax, edx
mov edx, eax
jmp 0x40559c
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax]
mov dword [ebp - 0x104], eax
mov eax, 1
test al, al
jne 0x405336
mov edx, 0
lea eax, [ebp - 0xe1]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call edx
sub esp, 8
mov dword [0x520034], eax
mov eax, dword [0x520034]
lea edx, [ebp - 0x100]
mov dword [esp + 0xc], edx
mov dword [esp + 8], pe_nt_image_headers32
mov edx, dword [ebp + 0xc]
mov dword [esp + 4], edx
mov edx, dword [ebp + 8]
mov dword [esp], edx
call eax
sub esp, 0x10
mov ecx, dword [ebp + 0x54]
mov ebx, 0
mov eax, dword [ebp - 0x178]
mov edx, dword [ebp - 0x174]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.00420490
mov ecx, eax
mov ebx, edx
mov eax, dword [ebp + 0x78]
mov edx, 0
mov edi, ecx
xor edi, eax
mov dword [ebp - 0x190], edi
mov esi, ebx
xor esi, edx
mov dword [ebp - 0x18c], esi
lea eax, [ebp - 0xfc]
mov ecx, eax
call fcn.0049b580
mov eax, dword [ebp - 0x190]
mov edx, dword [ebp - 0x18c]
jmp 0x405674
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret