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

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x68
push eax
push 1
lea ecx, [esp + 0xc]
push 0x60
push ecx
call fcn.004c49b0
add esp, 0x10
cmp eax, 1
je 0x4978b7
mov eax, 0x20
add esp, 0x68
ret
push ebx
mov ebx, dword [esp + 0x78]
push ebp
push ebx
call fcn.004977a0
mov ebp, eax
add esp, 4
cmp ebp, 0xffffffff
je 0x497de5
mov ecx, dword [ebx + 0x10]
mov dl, byte [esp + 0xc]
push esi
mov esi, ebp
imul esi, esi, 0x64
push edi
mov edi, dword [esp + 0x7c]
add esi, ecx
cmp edi, 1
mov byte [esi], dl
jne 0x497911
mov ecx, dword [esp + 0x18]
movzx edx, byte [esp + 0x1a]
movzx eax, cl
shl eax, 8
movzx ecx, ch
or eax, ecx
movzx ecx, byte [esp + 0x1b]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
jmp 0x497915
mov eax, dword [esp + 0x18]
cmp edi, 1
mov dword [esi + 4], eax
jne 0x497942
mov ecx, dword [esp + 0x1c]
movzx eax, cl
shl eax, 8
movzx edx, ch
movzx ecx, byte [esp + 0x1e]
or eax, edx
movzx edx, byte [esp + 0x1f]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
jmp 0x497946
mov eax, dword [esp + 0x1c]
cmp edi, 1
mov dword [esi + 8], eax
jne 0x497973
mov ecx, dword [esp + 0x20]
movzx edx, byte [esp + 0x22]
movzx eax, cl
shl eax, 8
movzx ecx, ch
or eax, ecx
movzx ecx, byte [esp + 0x23]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
jmp 0x497977
mov eax, dword [esp + 0x20]
cmp edi, 1
mov dword [esi + 0xc], eax
jne 0x4979a4
mov ecx, dword [esp + 0x24]
movzx eax, cl
shl eax, 8
movzx edx, ch
movzx ecx, byte [esp + 0x26]
or eax, edx
movzx edx, byte [esp + 0x27]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
jmp 0x4979a8
mov eax, dword [esp + 0x24]
cmp edi, 1
mov dword [esi + 0x10], eax
jne 0x4979d5
mov ecx, dword [esp + 0x28]
movzx edx, byte [esp + 0x2a]
movzx eax, cl
shl eax, 8
movzx ecx, ch
or eax, ecx
movzx ecx, byte [esp + 0x2b]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
jmp 0x4979d9
mov eax, dword [esp + 0x28]
cmp edi, 1
mov dword [esi + 0x14], eax
jne 0x497a06
mov ecx, dword [esp + 0x2c]
movzx eax, cl
shl eax, 8
movzx edx, ch
movzx ecx, byte [esp + 0x2e]
or eax, edx
movzx edx, byte [esp + 0x2f]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
jmp 0x497a0a
mov eax, dword [esp + 0x2c]
cmp edi, 1
mov dword [esi + 0x18], eax
jne 0x497a37
mov ecx, dword [esp + 0x30]
movzx edx, byte [esp + 0x32]
movzx eax, cl
shl eax, 8
movzx ecx, ch
or eax, ecx
movzx ecx, byte [esp + 0x33]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
jmp 0x497a3b
mov eax, dword [esp + 0x30]
cmp edi, 1
mov dword [esi + 0x1c], eax
jne 0x497a68
mov ecx, dword [esp + 0x34]
movzx eax, cl
shl eax, 8
movzx edx, ch
movzx ecx, byte [esp + 0x36]
or eax, edx
movzx edx, byte [esp + 0x37]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
jmp 0x497a6c
mov eax, dword [esp + 0x34]
cmp edi, 1
mov dword [esi + 0x20], eax
jne 0x497a99
mov ecx, dword [esp + 0x38]
movzx edx, byte [esp + 0x3a]
movzx eax, cl
shl eax, 8
movzx ecx, ch
or eax, ecx
movzx ecx, byte [esp + 0x3b]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
jmp 0x497a9d
mov eax, dword [esp + 0x38]
cmp edi, 1
mov dword [esi + 0x24], eax
mov dl, byte [esp + 0x3c]
mov byte [esi + 0x28], dl
jne 0x497ad1
mov ecx, dword [esp + 0x40]
movzx edx, byte [esp + 0x42]
movzx eax, cl
shl eax, 8
movzx ecx, ch
or eax, ecx
movzx ecx, byte [esp + 0x43]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
jmp 0x497ad5
mov eax, dword [esp + 0x40]
cmp edi, 1
mov dword [esi + 0x2c], eax
jne 0x497b02
mov ecx, dword [esp + 0x44]
movzx eax, cl
shl eax, 8
movzx edx, ch
movzx ecx, byte [esp + 0x46]
or eax, edx
movzx edx, byte [esp + 0x47]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
jmp 0x497b06
mov eax, dword [esp + 0x44]
cmp edi, 1
mov dword [esi + 0x30], eax
jne 0x497b33
mov ecx, dword [esp + 0x48]
movzx edx, byte [esp + 0x4a]
movzx eax, cl
shl eax, 8
movzx ecx, ch
or eax, ecx
movzx ecx, byte [esp + 0x4b]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
jmp 0x497b37
mov eax, dword [esp + 0x48]
cmp edi, 1
mov dword [esi + 0x34], eax
jne 0x497b64
mov ecx, dword [esp + 0x4c]
movzx eax, cl
shl eax, 8
movzx edx, ch
movzx ecx, byte [esp + 0x4e]
or eax, edx
movzx edx, byte [esp + 0x4f]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
jmp 0x497b68
mov eax, dword [esp + 0x4c]
cmp edi, 1
mov dword [esi + 0x38], eax
jne 0x497b95
mov ecx, dword [esp + 0x50]
movzx edx, byte [esp + 0x52]
movzx eax, cl
shl eax, 8
movzx ecx, ch
or eax, ecx
movzx ecx, byte [esp + 0x53]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
jmp 0x497b99
mov eax, dword [esp + 0x50]
cmp edi, 1
mov dword [esi + 0x3c], eax
jne 0x497bc6
mov ecx, dword [esp + 0x54]
movzx eax, cl
shl eax, 8
movzx edx, ch
movzx ecx, byte [esp + 0x56]
or eax, edx
movzx edx, byte [esp + 0x57]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
jmp 0x497bca
mov eax, dword [esp + 0x54]
cmp edi, 1
mov dword [esi + 0x40], eax
jne 0x497bf7
mov ecx, dword [esp + 0x58]
movzx edx, byte [esp + 0x5a]
movzx eax, cl
shl eax, 8
movzx ecx, ch
or eax, ecx
movzx ecx, byte [esp + 0x5b]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
jmp 0x497bfb
mov eax, dword [esp + 0x58]
cmp edi, 1
mov dword [esi + 0x44], eax
jne 0x497c28
mov ecx, dword [esp + 0x5c]
movzx eax, cl
shl eax, 8
movzx edx, ch
movzx ecx, byte [esp + 0x5e]
or eax, edx
movzx edx, byte [esp + 0x5f]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
jmp 0x497c2c
mov eax, dword [esp + 0x5c]
cmp edi, 1
mov dword [esi + 0x48], eax
jne 0x497c59
mov ecx, dword [esp + 0x60]
movzx edx, byte [esp + 0x62]
movzx eax, cl
shl eax, 8
movzx ecx, ch
or eax, ecx
movzx ecx, byte [esp + 0x63]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
jmp 0x497c5d
mov eax, dword [esp + 0x60]
cmp edi, 1
mov dword [esi + 0x4c], eax
jne 0x497c8a
mov ecx, dword [esp + 0x64]
movzx eax, cl
shl eax, 8
movzx edx, ch
movzx ecx, byte [esp + 0x66]
or eax, edx
movzx edx, byte [esp + 0x67]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
jmp 0x497c8e
mov eax, dword [esp + 0x64]
cmp edi, 1
mov dword [esi + 0x50], eax
jne 0x497cbb
mov ecx, dword [esp + 0x68]
movzx edx, byte [esp + 0x6a]
movzx eax, cl
shl eax, 8
movzx ecx, ch
or eax, ecx
movzx ecx, byte [esp + 0x6b]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
jmp 0x497cbf
mov eax, dword [esp + 0x68]
cmp edi, 1
mov dword [esi + 0x54], eax
jne 0x497cec
mov ecx, dword [esp + 0x6c]
movzx eax, cl
shl eax, 8
movzx edx, ch
movzx ecx, byte [esp + 0x6e]
or eax, edx
movzx edx, byte [esp + 0x6f]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
jmp 0x497cf0
mov eax, dword [esp + 0x6c]
cmp edi, 1
mov dword [esi + 0x58], eax
jne 0x497d1d
mov ecx, dword [esp + 0x70]
movzx edx, byte [esp + 0x72]
movzx eax, cl
shl eax, 8
movzx ecx, ch
or eax, ecx
movzx ecx, byte [esp + 0x73]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
jmp 0x497d21
mov eax, dword [esp + 0x70]
test eax, eax
mov dword [esi + 0x5c], eax
jbe 0x497ddb
lea edx, [eax*4]
push edx
call fcn.0046f5b0
add esp, 4
test eax, eax
mov dword [esi + 0x60], eax
je 0x497dd1
mov eax, dword [esi + 0x5c]
xor ebx, ebx
test eax, eax
jbe 0x497ddb
mov eax, dword [esp + 0x80]
push eax
push 1
lea ecx, [esp + 0x18]
push 4
push ecx
call fcn.004c49b0
add esp, 0x10
cmp eax, 1
jne 0x497db1
cmp edi, 1
mov eax, dword [esp + 0x10]
jne 0x497d99
xor edx, edx
mov dh, al
movzx eax, ah
or edx, eax
mov ax, word [esp + 0x12]
movzx ecx, al
shl edx, 8
or edx, ecx
movzx eax, ah
shl edx, 8
or eax, edx
mov ecx, dword [esi + 0x60]
mov dword [ecx + ebx*4], eax
mov eax, dword [esi + 0x5c]
inc ebx
cmp ebx, eax
jb 0x497d54
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x68
ret
mov edx, dword [esp + 0x84]
push ebp
push edx
mov esi, 0x20
call fcn.00497660
add esp, 8
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
push ebp
push ebx
call fcn.00497660
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x68
ret
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x68
ret