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

Disassembly:
mov ecx, dword [0x63a67440]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x44]
cmp eax, dword [ecx + 8]
jbe 0x63834eb6
sub esp, 0xc4
mov ebx, dword [esp + 0xc8]
mov ebp, dword [ebx + 0x10]
mov esi, dword [esp + 0xcc]
sub esi, ebp
mov edi, dword [esp + 0xd4]
sub edi, ebp
mov ebp, dword [ebx + 0x14]
mov eax, ebx
mov ebx, dword [esp + 0xdc]
mov ecx, dword [ebx + 0x2c]
shl esi, 2
mov dword [esp + 0x40], esi
shl edi, 2
mov dword [esp + 0x3c], edi
mov edx, edi
mov edi, dword [esp + 0xd0]
sub edi, ebp
mov esi, dword [esp + 0xd8]
sub esi, ebp
mov dword [esp + 0x28], esi
cmp ecx, 1
jg 0x63834549
test ecx, ecx
jne 0x63834521
mov ebp, dword [esp + 0xe0]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xa8]
jmp 0x63834ced
cmp ecx, 1
jne 0x638345a2
mov ebp, dword [esp + 0xe0]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x7c]
jmp 0x63834aad
cmp ecx, 2
jne 0x63834577
mov ebp, dword [esp + 0xe0]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x8c]
jmp 0x63834830
cmp ecx, 3
jne 0x638345a2
mov ebp, dword [esp + 0xe0]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x94]
jmp 0x638345e9
mov byte [esp + 0xe8], 0
add esp, 0xc4
ret
mov eax, dword [esp + 0x2c]
inc eax
mov edx, dword [esp + 0x4c]
inc edx
mov ebx, dword [esp + 0xc8]
mov ebp, dword [esp + 0xe0]
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0xdc]
mov edi, eax
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0xc8]
mov edx, dword [esp + 0x3c]
cmp edi, esi
je 0x63834697
mov esi, dword [eax + 4]
mov edx, dword [eax + 0xc]
imul edx, edi
cmp esi, edx
jb 0x638347e8
mov dword [esp + 0x2c], edi
mov edi, dword [eax]
mov dword [esp + 0xc0], edi
mov eax, dword [eax + 8]
sub eax, edx
neg eax
sar eax, 0x1f
and eax, edx
mov ecx, dword [ebx + 0x34]
mov dword [esp + 0xa4], ecx
mov edi, dword [esp + 0x4c]
sub edi, ecx
imul edi, dword [ebx + 0x24]
mov dword [esp + 0xa0], edi
mov edi, dword [ebx + 0x30]
sub ebp, edi
mov dword [esp + 0x9c], ebp
mov edi, dword [esp + 0x4c]
shr edi, 0x1f
mov ebp, dword [esp + 0x4c]
add edi, ebp
sar edi, 1
shr ecx, 0x1f
mov ebp, dword [esp + 0xa4]
add ebp, ecx
sar ebp, 1
sub edi, ebp
imul edi, dword [ebx + 0x28]
mov ebp, dword [esp + 0xc0]
add ebp, eax
mov dword [esp + 0xb8], ebp
sub esi, edx
mov eax, ebp
mov ebp, dword [esp + 0x9c]
mov ecx, ebx
mov ebx, dword [esp + 0xa0]
add ebx, ebp
add ebp, edi
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
jmp 0x638346ed
mov byte [esp + 0xe8], 1
add esp, 0xc4
ret
mov eax, esi
sub eax, edx
neg eax
sar eax, 0x1f
and edx, eax
mov eax, dword [esp + 0xb8]
mov byte [eax + edx], cl
mov byte [eax + edx + 1], bl
xchg ebp, ebx
mov byte [eax + edx + 2], bl
xchg ebp, ebx
mov byte [eax + edx + 3], 0xff
mov ecx, dword [esp + 0x18]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x74]
lea ebp, [ecx + 1]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xdc]
mov ecx, edx
mov edx, edi
mov edi, dword [esp + 0x3c]
cmp edx, edi
je 0x638345b1
mov edi, dword [ecx + 4]
cmp ebx, edi
jae 0x638347df
mov edi, dword [ecx]
mov eax, dword [ecx + 0x10]
movzx edi, byte [ebx + edi]
cmp ebp, eax
jae 0x638347d6
mov dword [esp + 0x18], ebx
mov eax, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x1c]
movzx eax, byte [ebp + eax]
cmp ebp, ebx
jae 0x638347cd
imul ebx, edi, 0x10101
mov edi, dword [ecx + 0x18]
movzx edi, byte [ebp + edi]
imul ecx, edi, 0x166e9
lea ecx, [ebx + ecx - 0xb37480]
test ecx, 0xff000000
jne 0x63834750
sar ecx, 0x10
jmp 0x63834755
sar ecx, 0x1f
not ecx
mov dword [esp + 8], ebx
mov dword [esp + 0x74], ebp
imul ebp, eax, 0x581a
sub ebx, ebp
imul ebp, edi, 0xb6d2
sub ebx, ebp
add ebx, 0x877600
test ebx, 0xff000000
jne 0x63834780
sar ebx, 0x10
jmp 0x63834785
sar ebx, 0x1f
not ebx
imul ebp, eax, 0x1c5a2
mov edi, dword [esp + 8]
lea ebp, [ebp + edi - 0xe2d100]
test ebp, 0xff000000
jne 0x638347a3
sar ebp, 0x10
jmp 0x638347ac
sar ebp, 0x1f
xchg ebp, ebx
not ebx
xchg ebp, ebx
lea edi, [edx + 4]
cmp esi, edi
jb 0x638347c4
cmp edx, edi
jbe 0x638346a6
mov eax, edx
mov ecx, edi
call fcn.6376c1f0
mov ecx, edi
mov edx, esi
call fcn.6376c1e0
mov eax, ebp
mov ecx, ebx
call fcn.6376c140
mov ecx, eax
mov eax, ebp
call fcn.6376c140
mov eax, ebx
mov ecx, edi
call fcn.6376c140
mov eax, edx
mov ecx, esi
call fcn.6376c1a0
mov eax, dword [esp + 0x30]
lea edi, [eax + 1]
mov eax, dword [esp + 0x50]
inc eax
mov edx, dword [esp + 0xe0]
mov ebx, dword [esp + 0xc8]
mov esi, dword [esp + 0x40]
mov ecx, esi
mov edx, ebp
mov ebx, dword [esp + 0xdc]
mov ebp, dword [esp + 0xe0]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xc8]
cmp edi, esi
je 0x63834697
mov esi, dword [eax + 4]
mov edx, dword [eax + 0xc]
imul edx, edi
cmp esi, edx
jb 0x63834a65
mov dword [esp + 0x30], edi
mov edi, dword [eax]
mov dword [esp + 0xc0], edi
mov eax, dword [eax + 8]
sub eax, edx
neg eax
sar eax, 0x1f
and eax, edx
mov edi, dword [esp + 0x50]
shr edi, 0x1f
mov ebp, dword [esp + 0x50]
add edi, ebp
sar edi, 1
mov ecx, dword [ebx + 0x34]
mov dword [esp + 0xa4], ecx
sub ebp, ecx
imul ebp, dword [ebx + 0x24]
mov dword [esp + 0xa0], ebp
shr ecx, 0x1f
mov ebp, dword [esp + 0xa4]
add ebp, ecx
sar ebp, 1
sub edi, ebp
imul edi, dword [ebx + 0x28]
mov dword [esp + 0xa4], edi
mov ebp, dword [ebx + 0x30]
mov dword [esp + 0x9c], ebp
mov ecx, ebx
mov ebx, dword [esp + 0xe0]
sub ebx, ebp
shr ebp, 0x1f
mov edi, dword [esp + 0x9c]
add ebp, edi
sar ebp, 1
mov edi, dword [esp + 0xc0]
add edi, eax
sub esi, edx
mov dword [esp + 0x64], esi
mov eax, edi
mov edi, dword [esp + 0xa0]
add ebx, edi
mov edi, dword [esp + 0xa4]
sub edi, ebp
mov dword [esp + 0x6c], edi
mov ebp, dword [esp + 0x3c]
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x84]
jmp 0x63834959
sub edi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, esi
mov byte [eax + edi], dl
mov byte [eax + edi + 1], bl
xchg ebp, ebx
mov byte [eax + edi + 2], bl
xchg ebp, ebx
mov byte [eax + edi + 3], 0xff
mov edx, dword [esp + 0x5c]
inc edx
mov ebx, dword [esp + 0x1c]
inc ebx
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0xdc]
mov edi, dword [esp + 0x6c]
mov esi, dword [esp + 0x64]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0xdc]
mov esi, dword [esp + 0x44]
cmp esi, ebp
je 0x638347f1
mov dword [esp + 0x5c], edx
shr edx, 0x1f
mov ebp, dword [esp + 0x5c]
add edx, ebp
sar edx, 1
mov ebp, dword [ecx + 4]
add edx, edi
cmp ebx, ebp
jae 0x63834a5c
mov ebp, dword [ecx]
mov edi, dword [ecx + 0x10]
movzx ebp, byte [ebp + ebx]
cmp edi, edx
jbe 0x63834a53
mov dword [esp + 0x1c], ebx
mov edi, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x1c]
movzx edi, byte [edi + edx]
cmp ebx, edx
jbe 0x63834a4a
imul ebx, ebp, 0x10101
mov ebp, dword [ecx + 0x18]
movzx ebp, byte [ebp + edx]
imul edx, ebp, 0x166e9
lea edx, [edx + ebx - 0xb37480]
test edx, 0xff000000
jne 0x638349d1
sar edx, 0x10
jmp 0x638349d6
sar edx, 0x1f
not edx
mov dword [esp + 0xc], ebx
imul ecx, edi, 0x581a
sub ebx, ecx
imul ebp, ebp, 0xb6d2
sub ebx, ebp
add ebx, 0x877600
test ebx, 0xff000000
jne 0x638349fd
sar ebx, 0x10
jmp 0x63834a02
sar ebx, 0x1f
not ebx
imul ebp, edi, 0x1c5a2
mov edi, dword [esp + 0xc]
lea ebp, [ebp + edi - 0xe2d100]
test ebp, 0xff000000
jne 0x63834a20
sar ebp, 0x10
jmp 0x63834a29
sar ebp, 0x1f
xchg ebp, ebx
not ebx
xchg ebp, ebx
lea ecx, [esi + 4]
mov edi, dword [esp + 0x64]
cmp edi, ecx
jb 0x63834a43
cmp esi, ecx
jbe 0x63834910
mov eax, esi
call fcn.6376c1f0
mov edx, edi
call fcn.6376c1e0
mov eax, edx
mov ecx, ebx
call fcn.6376c140
mov eax, edx
mov ecx, edi
call fcn.6376c140
mov eax, ebx
mov ecx, ebp
call fcn.6376c140
mov eax, edx
mov ecx, esi
call fcn.6376c1a0
mov eax, dword [esp + 0x34]
lea edi, [eax + 1]
mov eax, dword [esp + 0x54]
inc eax
mov ecx, dword [esp + 0xe0]
mov ebx, dword [esp + 0xc8]
mov esi, dword [esp + 0x40]
mov ecx, esi
mov edx, ebp
mov ebx, dword [esp + 0xdc]
mov ebp, dword [esp + 0xe0]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xc8]
cmp edi, esi
je 0x63834697
mov esi, dword [eax + 4]
mov edx, dword [eax + 0xc]
imul edx, edi
cmp esi, edx
jb 0x63834cae
mov dword [esp + 0x34], edi
mov dword [esp + 0xa4], edx
mov edi, dword [eax]
mov dword [esp + 0xc0], edi
mov eax, dword [eax + 8]
sub eax, edx
neg eax
sar eax, 0x1f
and eax, edx
mov ecx, dword [ebx + 0x24]
mov edx, dword [ebx + 0x30]
sub ebp, edx
mov dword [esp + 0xa0], ebp
mov ebp, dword [ebx + 0x34]
mov edi, dword [esp + 0x54]
sub edi, ebp
imul ecx, edi
mov ebp, dword [ebx + 0x28]
imul edi, ebp
mov ebp, edx
shr edx, 0x1f
add ebp, edx
sar ebp, 1
mov edx, ebx
mov ebx, dword [esp + 0xc0]
add ebx, eax
mov eax, ebx
mov ebx, dword [esp + 0xa4]
sub esi, ebx
mov dword [esp + 0x68], esi
mov ebx, dword [esp + 0xa0]
add ebx, ecx
sub edi, ebp
mov dword [esp + 0x70], edi
mov ebp, dword [esp + 0x3c]
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xb0]
jmp 0x63834ba0
sub edx, esi
neg edx
sar edx, 0x1f
and edx, esi
mov byte [eax + edx], cl
mov byte [eax + edx + 1], bl
xchg ebp, ebx
mov byte [eax + edx + 2], bl
xchg ebp, ebx
mov byte [eax + edx + 3], 0xff
mov ecx, dword [esp + 0x60]
inc ecx
mov edx, dword [esp + 0x20]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x3c]
mov edx, dword [esp + 0xdc]
mov esi, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x48]
cmp esi, ebp
je 0x63834a6e
mov dword [esp + 0x60], ecx
shr ecx, 0x1f
mov ebp, dword [esp + 0x60]
add ecx, ebp
sar ecx, 1
mov ebp, dword [edx + 4]
add ecx, edi
cmp ebx, ebp
jae 0x63834ca5
mov ebp, dword [edx]
mov edi, dword [edx + 0x10]
movzx ebp, byte [ebp + ebx]
cmp edi, ecx
jbe 0x63834c9c
mov dword [esp + 0x20], ebx
mov edi, dword [edx + 0xc]
mov ebx, dword [edx + 0x1c]
movzx edi, byte [edi + ecx]
cmp ebx, ecx
jbe 0x63834c93
imul ebx, ebp, 0x10101
mov ebp, dword [edx + 0x18]
movzx ebp, byte [ebp + ecx]
imul ecx, ebp, 0x166e9
lea ecx, [ecx + ebx - 0xb37480]
test ecx, 0xff000000
jne 0x63834c18
sar ecx, 0x10
jmp 0x63834c1d
sar ecx, 0x1f
not ecx
mov dword [esp + 0x10], ebx
imul edx, edi, 0x581a
sub ebx, edx
imul ebp, ebp, 0xb6d2
sub ebx, ebp
add ebx, 0x877600
test ebx, 0xff000000
jne 0x63834c44
sar ebx, 0x10
jmp 0x63834c49
sar ebx, 0x1f
not ebx
imul ebp, edi, 0x1c5a2
mov edi, dword [esp + 0x10]
lea ebp, [ebp + edi - 0xe2d100]
test ebp, 0xff000000
jne 0x63834c67
sar ebp, 0x10
jmp 0x63834c70
sar ebp, 0x1f
xchg ebp, ebx
not ebx
xchg ebp, ebx
lea edi, [esi + 4]
mov edx, dword [esp + 0x68]
cmp edx, edi
jb 0x63834c8c
cmp esi, edi
jbe 0x63834b5c
mov eax, esi
mov ecx, edi
call fcn.6376c1f0
mov ecx, edi
call fcn.6376c1e0
mov eax, ecx
mov ecx, ebx
call fcn.6376c140
mov eax, ecx
mov ecx, edi
call fcn.6376c140
mov eax, ebx
mov ecx, ebp
call fcn.6376c140
mov eax, edx
mov ecx, esi
call fcn.6376c1a0
mov eax, dword [esp + 0x38]
inc eax
mov ecx, dword [esp + 0x58]
inc ecx
mov ebp, dword [esp + 0xe0]
mov ebx, dword [esp + 0xc8]
mov esi, dword [esp + 0x28]
mov edx, edi
mov ebx, dword [esp + 0xdc]
mov edi, eax
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0x40]
cmp edi, esi
je 0x63834697
mov esi, dword [eax + 4]
mov edx, dword [eax + 0xc]
imul edx, edi
cmp esi, edx
jb 0x63834eac
mov dword [esp + 0x38], edi
mov dword [esp + 0xa4], edx
mov edi, dword [eax]
mov dword [esp + 0xc0], edi
mov eax, dword [eax + 8]
sub eax, edx
neg eax
sar eax, 0x1f
and eax, edx
mov ecx, dword [ebx + 0x24]
mov edx, dword [ebx + 0x34]
mov edi, dword [esp + 0x58]
sub edi, edx
imul ecx, edi
mov edx, dword [ebx + 0x28]
imul edi, edx
mov edx, dword [ebx + 0x30]
sub ebp, edx
mov edx, ebx
mov ebx, dword [esp + 0xc0]
add ebx, eax
mov dword [esp + 0xbc], ebx
mov eax, ebx
mov ebx, dword [esp + 0xa4]
sub esi, ebx
lea ebx, [ecx + ebp]
add ebp, edi
mov edi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
jmp 0x63834db3
mov eax, esi
sub eax, ecx
neg eax
sar eax, 0x1f
and eax, ecx
mov ecx, dword [esp + 0xbc]
mov byte [ecx + eax], dl
mov byte [ecx + eax + 1], bl
xchg ebp, ebx
mov byte [ecx + eax + 2], bl
xchg ebp, ebx
mov byte [ecx + eax + 3], 0xff
mov eax, dword [esp + 0x24]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x78]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0xdc]
mov eax, ecx
mov ecx, edi
mov edi, dword [esp + 0x3c]
cmp ecx, edi
je 0x63834cb7
mov edi, dword [edx + 4]
cmp ebx, edi
jae 0x63834ea3
mov edi, dword [edx]
mov eax, dword [edx + 0x10]
movzx edi, byte [edi + ebx]
cmp ebp, eax
jae 0x63834e9a
mov dword [esp + 0x24], ebx
mov eax, dword [edx + 0xc]
mov ebx, dword [edx + 0x1c]
movzx eax, byte [eax + ebp]
cmp ebp, ebx
jae 0x63834e91
imul ebx, edi, 0x10101
mov edi, dword [edx + 0x18]
movzx edi, byte [edi + ebp]
imul edx, edi, 0x166e9
lea edx, [edx + ebx - 0xb37480]
test edx, 0xff000000
jne 0x63834e14
sar edx, 0x10
jmp 0x63834e19
sar edx, 0x1f
not edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x78], ebp
imul ebp, eax, 0x581a
sub ebx, ebp
imul ebp, edi, 0xb6d2
sub ebx, ebp
add ebx, 0x877600
test ebx, 0xff000000
jne 0x63834e44
sar ebx, 0x10
jmp 0x63834e49
sar ebx, 0x1f
not ebx
imul ebp, eax, 0x1c5a2
mov edi, dword [esp + 0x14]
lea ebp, [ebp + edi - 0xe2d100]
test ebp, 0xff000000
jne 0x63834e67
sar ebp, 0x10
jmp 0x63834e70
sar ebp, 0x1f
xchg ebp, ebx
not ebx
xchg ebp, ebx
lea edi, [ecx + 4]
cmp esi, edi
jb 0x63834e88
cmp ecx, edi
jbe 0x63834d6c
mov eax, ecx
mov ecx, edi
call fcn.6376c1f0
mov ecx, edi
mov edx, esi
call fcn.6376c1e0
mov eax, ebp
mov ecx, ebx
call fcn.6376c140
mov ecx, eax
mov eax, ebp
call fcn.6376c140
mov eax, ebx
mov ecx, edi
call fcn.6376c140
mov eax, edx
mov ecx, esi
call fcn.6376c1a0
nop
call fcn.6376aca0
jmp fcn.63834480