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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
mov eax, dword [ebp + 8]
movsx ecx, byte [eax + 0x28e]
mov dword [ebp - 0x54], ecx
shl ecx, 6
mov al, byte [ecx + eax + 0x1ac]
movsx ecx, al
push ebx
mov byte [ebp - 1], al
movzx eax, byte [ecx + 0x46c130]
push edi
mov edi, dword [ebp + 0xc]
cmp al, byte [edi + 0x46c130]
jne 0x4359d7
movzx edi, byte [edi + 0x46c8a0]
movzx eax, byte [ecx + 0x46c8a0]
movzx edx, byte [ecx + 0x46c900]
shl eax, 4
add eax, edi
shl eax, 4
add eax, 0xdcf5f8
mov edi, dword [eax + 4]
mov ebx, dword [eax]
shl edx, 4
add edx, 0xd414c8
and edi, dword [edx + 4]
and ebx, dword [edx]
mov dword [ebp - 0x7c], edi
mov edi, dword [eax + 8]
and edi, dword [edx + 8]
mov eax, dword [eax + 0xc]
and eax, dword [edx + 0xc]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x7c]
shl edx, 4
or eax, dword [edx + 0x48059c]
or ebx, dword [edx + 0x480598]
lea edx, [edx + 0x480598]
mov dword [ebp - 0x14], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x6c], edx
mov edx, dword [edx + 0xc]
or edx, dword [ebp - 0x74]
or eax, edi
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 8]
shl edx, 7
add eax, edx
mov edx, dword [eax + 0x10]
not edx
mov dword [ebp - 0x18], edx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x44], eax
not edx
mov dword [ebp - 0x14], edx
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
not eax
mov dword [ebp - 0xc], eax
movzx eax, byte [ecx + 0x46c8a0]
shl eax, 4
add eax, 0xd6e7b8
jmp 0x435a8b
movzx edi, byte [edi + 0x46c900]
movzx eax, byte [ecx + 0x46c900]
movzx edx, byte [ecx + 0x46c8a0]
shl eax, 4
add eax, edi
shl edx, 4
add edx, 0xd6e7b8
mov edi, dword [edx + 4]
mov ebx, dword [edx]
shl eax, 4
add eax, 0xdcfff8
and edi, dword [eax + 4]
and ebx, dword [eax]
mov dword [ebp - 0x7c], edi
mov edi, dword [edx + 8]
and edi, dword [eax + 8]
mov edx, dword [edx + 0xc]
and edx, dword [eax + 0xc]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x74], edx
mov edx, dword [ebp - 0x7c]
shl eax, 4
or edx, dword [eax + 0x48059c]
or ebx, dword [eax + 0x480598]
lea eax, [eax + 0x480598]
mov dword [ebp - 0x14], edx
mov edx, dword [eax + 8]
mov dword [ebp - 0x6c], eax
mov eax, dword [eax + 0xc]
or eax, dword [ebp - 0x74]
or edx, edi
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 8]
shl edx, 7
add eax, edx
mov edx, dword [eax + 0x10]
not edx
mov dword [ebp - 0x18], edx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x44], eax
not edx
mov dword [ebp - 0x14], edx
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
not eax
mov dword [ebp - 0xc], eax
movzx eax, byte [ecx + 0x46c900]
shl eax, 4
add eax, 0xd414c8
not edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x3c], edi
mov edi, dword [eax + 4]
mov edx, ecx
shl edx, 4
add edx, 0xcb3ee8
and edi, dword [edx + 4]
mov dword [ebp - 0x40], ebx
mov ebx, dword [eax]
and ebx, dword [edx]
mov dword [ebp - 0x7c], edi
mov edi, dword [edx + 8]
and edi, dword [eax + 8]
mov edx, dword [edx + 0xc]
and edx, dword [eax + 0xc]
and edi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x7c]
and eax, dword [ebp - 0x14]
and edx, dword [ebp - 0xc]
and ebx, dword [ebp - 0x18]
mov dword [ebp - 0x78], edi
mov edi, eax
mov eax, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x74], edx
mov edx, dword [ebp - 0x78]
mov eax, ebx
or eax, edi
mov dword [ebp - 0x20], edx
je 0x435b35
movsx dx, byte [ebp - 1]
shl dx, 7
mov word [ebp - 0x2c], dx
jmp 0x435af4
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], edi
bsf eax, dword [ebp - 0x60]
jne 0x435b09
bsf eax, dword [ebp - 0x5c]
je 0x435b09
add eax, 0x20
add eax, 0xffffffed
or eax, edx
mov edx, dword [esi + 0x1fc]
mov word [esi + edx*4], ax
inc dword [esi + 0x1fc]
mov eax, ebx
add eax, 0xffffffff
mov edx, edi
adc edx, 0xffffffff
and ebx, eax
and edi, edx
mov eax, ebx
or eax, edi
jne 0x435af1
mov edx, dword [ebp - 0x20]
mov eax, edx
or eax, dword [ebp - 0x1c]
je 0x435b91
movsx bx, byte [ebp - 1]
mov edi, dword [ebp - 0x1c]
shl bx, 7
mov word [ebp - 0x2c], bx
jmp 0x435b53
mov ebx, dword [ebp - 0x2c]
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], edi
bsf eax, dword [ebp - 0x60]
jne 0x435b68
bsf eax, dword [ebp - 0x5c]
je 0x435b68
add eax, 0x20
add eax, 0x2d
or eax, ebx
mov ebx, dword [esi + 0x1fc]
mov word [esi + ebx*4], ax
inc dword [esi + 0x1fc]
mov eax, edx
add eax, 0xffffffff
mov ebx, edi
adc ebx, 0xffffffff
and edx, eax
and edi, ebx
mov eax, edx
or eax, edi
jne 0x435b50
mov edi, dword [ebp - 0x54]
mov ebx, dword [ebp + 0xc]
lea ecx, [edi + ecx*2]
mov eax, dword [ecx*8 + 0xcb3ee8]
mov ecx, dword [ecx*8 + 0xcb3eec]
lea edx, [edi + ebx*2]
and eax, dword [edx*8 + 0x480598]
and ecx, dword [edx*8 + 0x48059c]
or eax, ecx
je 0x435bd9
movsx cx, byte [ebp - 1]
mov edx, dword [esi + 0x1fc]
shl cx, 7
or cx, bx
mov word [esi + edx*4], cx
inc dword [esi + 0x1fc]
mov eax, dword [ebp + 8]
cmp byte [eax + edi*8 + 0x13d], 0
je 0x435d15
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x60]
mov edx, dword [eax + 0x64]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0x68]
mov dword [ebp - 0x14], edx
mov edx, dword [eax + 0x6c]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], edx
lea ecx, [ebp - 0x18]
call fcn.004024d0
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov byte [ebp - 1], al
movsx eax, al
shl eax, 4
add eax, 0xdd0f28
and ecx, dword [eax]
and edx, dword [eax + 4]
mov ebx, dword [eax + 8]
and ebx, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
and eax, dword [ebp - 0x34]
mov edi, ecx
or ecx, edx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x84], eax
mov ebx, eax
je 0x435ca1
movsx cx, byte [ebp - 1]
shl cx, 7
mov word [ebp - 0x2c], cx
jmp 0x435c63
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x5c], edx
bsf eax, dword [ebp - 0x60]
jne 0x435c78
bsf eax, dword [ebp - 0x5c]
je 0x435c78
add eax, 0x20
add eax, 0xffffffed
or eax, ecx
mov ecx, dword [esi + 0x1fc]
mov word [esi + ecx*4], ax
inc dword [esi + 0x1fc]
mov eax, edi
add eax, 0xffffffff
mov ecx, edx
adc ecx, 0xffffffff
and edi, eax
and edx, ecx
mov eax, edi
or eax, edx
jne 0x435c60
mov eax, dword [ebp - 0x88]
or eax, dword [ebp - 0x84]
je 0x435cfe
movsx dx, byte [ebp - 1]
mov ecx, dword [ebp - 0x20]
shl dx, 7
jmp 0x435cc0
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], ebx
bsf eax, dword [ebp - 0x4c]
jne 0x435cd5
bsf eax, dword [ebp - 0x48]
je 0x435cd5
add eax, 0x20
mov edi, dword [esi + 0x1fc]
add eax, 0x2d
or eax, edx
mov word [esi + edi*4], ax
inc dword [esi + 0x1fc]
mov eax, ecx
add eax, 0xffffffff
mov edi, ebx
adc edi, 0xffffffff
and ecx, eax
and ebx, edi
mov eax, ecx
or eax, ebx
jne 0x435cc0
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
or eax, dword [ebp - 0x18]
or ecx, dword [ebp - 0x14]
or eax, ecx
jne 0x435c05
mov edi, dword [ebp - 0x54]
mov ecx, dword [ebp + 8]
cmp byte [ecx + edi*8 + 0x13e], 0
je 0x435e8c
mov eax, dword [ebp - 0x44]
mov edx, dword [eax + 0x70]
mov ecx, dword [eax + 0x74]
mov dword [ebp - 0x18], edx
mov edx, dword [eax + 0x78]
mov eax, dword [eax + 0x7c]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], eax
lea ecx, [ebp - 0x18]
call fcn.004024d0
mov byte [ebp - 1], al
movsx eax, al
mov dword [ebp - 0x5c], eax
shl eax, 4
add eax, 0xdd08f8
mov ecx, dword [eax]
and ecx, dword [ebp - 0x40]
mov edx, dword [eax + 4]
and edx, dword [ebp - 0x3c]
mov edi, dword [eax + 8]
mov ebx, dword [eax + 0xc]
and edi, dword [ebp - 0x38]
and ebx, dword [ebp - 0x34]
mov dword [ebp - 0x28], ecx
or ecx, edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], ebx
je 0x435df7
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
bsf eax, dword [ebp - 0x4c]
jne 0x435d9c
bsf eax, dword [ebp - 0x48]
je 0x435d9c
add eax, 0x20
sub al, 0x13
mov cl, al
movsx eax, cl
add eax, dword [ebp - 0x5c]
cdq
sub eax, edx
mov edx, dword [ebp + 8]
sar eax, 1
cmp byte [eax + edx + 0x148], 0
jne 0x435dd8
movsx ax, byte [ebp - 1]
mov edx, dword [esi + 0x1fc]
movsx cx, cl
shl ax, 7
or ax, cx
mov word [esi + edx*4], ax
inc dword [esi + 0x1fc]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov ecx, eax
add ecx, 0xffffffff
adc edx, 0xffffffff
and eax, ecx
mov ecx, dword [ebp - 0x24]
and ecx, edx
mov dword [ebp - 0x28], eax
or eax, ecx
mov dword [ebp - 0x24], ecx
jne 0x435d81
or edi, ebx
je 0x435e78
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x84], ebx
bsf eax, dword [ebp - 0x88]
jne 0x435e22
bsf eax, dword [ebp - 0x84]
je 0x435e22
add eax, 0x20
add al, 0x2d
mov cl, al
movsx eax, cl
add eax, dword [ebp - 0x5c]
cdq
sub eax, edx
mov edx, dword [ebp + 8]
sar eax, 1
cmp byte [eax + edx + 0x148], 0
jne 0x435e5e
movsx ax, byte [ebp - 1]
mov edx, dword [esi + 0x1fc]
movsx cx, cl
shl ax, 7
or ax, cx
mov word [esi + edx*4], ax
inc dword [esi + 0x1fc]
mov eax, edi
add eax, 0xffffffff
mov ecx, ebx
adc ecx, 0xffffffff
and edi, eax
and ebx, ecx
mov edx, edi
or edx, ebx
jne 0x435e01
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], edi
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
or eax, dword [ebp - 0x18]
or ecx, dword [ebp - 0x14]
or eax, ecx
jne 0x435d41
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x54]
cmp byte [eax + ecx*8 + 0x13b], 0
je 0x436014
mov eax, dword [ebp - 0x44]
mov edx, dword [eax + 0x40]
mov ecx, dword [eax + 0x44]
mov dword [ebp - 0x18], edx
mov edx, dword [eax + 0x48]
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], eax
lea ecx, [ebp - 0x18]
call fcn.004024d0
movsx edx, al
mov byte [ebp - 1], al
mov eax, edx
shl eax, 4
add eax, 0xdd30e8
mov edi, dword [eax + 4]
and edi, dword [ebp - 0x3c]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x40]
mov dword [ebp - 0x64], edi
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
and eax, dword [ebp - 0x34]
and edi, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x64]
mov dword [ebp - 0x28], ecx
or ecx, ebx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], eax
je 0x435f8c
mov eax, dword [ebp - 0x28]
mov ecx, ebx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], ecx
bsf eax, dword [ebp - 0x88]
jne 0x435f2d
bsf eax, dword [ebp - 0x84]
je 0x435f2d
add eax, 0x20
mov ebx, dword [ebp + 8]
sub al, 0x13
movsx ecx, al
sub ecx, edx
movsx ecx, byte [ecx + 0x46c488]
add ecx, edx
cmp byte [ecx + ebx + 0x148], 0
jne 0x435f68
movsx cx, byte [ebp - 1]
cbw
shl cx, 7
or cx, ax
mov eax, dword [esi + 0x1fc]
mov word [esi + eax*4], cx
inc dword [esi + 0x1fc]
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
mov ecx, eax
add ecx, 0xffffffff
adc ebx, 0xffffffff
and eax, ecx
mov ecx, dword [ebp - 0x24]
and ecx, ebx
mov ebx, eax
or ebx, ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ecx
jne 0x435f0c
mov eax, dword [ebp - 0x5c]
or edi, eax
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
je 0x436000
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], ebx
bsf eax, dword [ebp - 0x4c]
jne 0x435fab
bsf eax, dword [ebp - 0x48]
je 0x435fab
add eax, 0x20
mov ebx, dword [ebp + 8]
add al, 0x2d
movsx edi, al
sub edi, edx
movsx edi, byte [edi + 0x46c488]
add edi, edx
cmp byte [edi + ebx + 0x148], 0
jne 0x435fe6
movsx di, byte [ebp - 1]
cbw
shl di, 7
or di, ax
mov eax, dword [esi + 0x1fc]
mov word [esi + eax*4], di
inc dword [esi + 0x1fc]
mov ebx, dword [ebp - 0x1c]
mov eax, ecx
add eax, 0xffffffff
mov edi, ebx
adc edi, 0xffffffff
and ecx, eax
and ebx, edi
mov eax, ecx
or eax, ebx
mov dword [ebp - 0x1c], ebx
jne 0x435f96
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
or eax, dword [ebp - 0x18]
or ecx, dword [ebp - 0x14]
or eax, ecx
jne 0x435ebb
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x54]
cmp byte [ecx + edx*8 + 0x13a], 0
je 0x436153
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x30]
mov edx, dword [eax + 0x34]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0x14], edx
mov edx, dword [eax + 0x3c]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], edx
lea ecx, [ebp - 0x18]
call fcn.004024d0
mov edx, dword [ebp + 8]
mov byte [ebp - 1], al
movsx eax, al
lea ebx, [ebp - 0x80]
call fcn.00402ad0
mov ecx, dword [ebp - 0x40]
and ecx, dword [eax]
mov edx, dword [ebp - 0x3c]
and edx, dword [eax + 4]
mov edi, dword [eax + 8]
and edi, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
and eax, dword [ebp - 0x34]
mov ebx, ecx
or ecx, edx
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x5c], eax
mov edi, eax
je 0x4360ed
movsx cx, byte [ebp - 1]
shl cx, 7
mov word [ebp - 0x2c], cx
jmp 0x4360a3
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], edx
bsf eax, dword [ebp - 0x88]
jne 0x4360c4
bsf eax, dword [ebp - 0x84]
je 0x4360c4
add eax, 0x20
add eax, 0xffffffed
or eax, ecx
mov ecx, dword [esi + 0x1fc]
mov word [esi + ecx*4], ax
inc dword [esi + 0x1fc]
mov eax, ebx
add eax, 0xffffffff
mov ecx, edx
adc ecx, 0xffffffff
and ebx, eax
and edx, ecx
mov eax, ebx
or eax, edx
jne 0x4360a0
mov eax, dword [ebp - 0x60]
or eax, dword [ebp - 0x5c]
je 0x43613f
movsx dx, byte [ebp - 1]
mov ecx, dword [ebp - 0x20]
shl dx, 7
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edi
bsf eax, dword [ebp - 0x4c]
jne 0x436116
bsf eax, dword [ebp - 0x48]
je 0x436116
add eax, 0x20
mov ebx, dword [esi + 0x1fc]
add eax, 0x2d
or eax, edx
mov word [esi + ebx*4], ax
inc dword [esi + 0x1fc]
mov eax, ecx
add eax, 0xffffffff
mov ebx, edi
adc ebx, 0xffffffff
and ecx, eax
and edi, ebx
mov eax, ecx
or eax, edi
jne 0x436101
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
or eax, dword [ebp - 0x18]
or ecx, dword [ebp - 0x14]
or eax, ecx
jne 0x436043
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x54]
cmp byte [ecx + edx*8 + 0x13c], 0
je 0x4362b3
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x50]
mov edx, dword [eax + 0x54]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0x14], edx
mov edx, dword [eax + 0x5c]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], edx
lea ecx, [ebp - 0x18]
call fcn.004024d0
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ecx + 4]
xor edx, dword [ebp - 0x3c]
mov edi, dword [ecx]
xor edi, dword [ebp - 0x40]
mov dword [ebp - 0x64], edx
mov edx, dword [ebp - 0x38]
xor edx, dword [ecx + 8]
mov byte [ebp - 1], al
mov dword [ebp - 0x60], edx
mov edx, dword [ebp - 0x34]
xor edx, dword [ecx + 0xc]
movsx eax, al
mov dword [ebp - 0x5c], edx
mov edx, dword [ebp + 8]
lea ebx, [ebp - 0xa0]
call fcn.00402ad0
mov ecx, dword [ebp - 0x64]
and ecx, dword [eax + 4]
and edi, dword [eax]
mov ebx, ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
and eax, dword [ebp - 0x5c]
and ecx, dword [ebp - 0x60]
mov edx, edi
or edi, ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], eax
je 0x43624d
movsx di, byte [ebp - 1]
shl di, 7
mov word [ebp - 0x2c], di
jmp 0x436203
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], ebx
bsf eax, dword [ebp - 0x88]
jne 0x436224
bsf eax, dword [ebp - 0x84]
je 0x436224
add eax, 0x20
add eax, 0xffffffed
or eax, edi
mov edi, dword [esi + 0x1fc]
mov word [esi + edi*4], ax
inc dword [esi + 0x1fc]
mov eax, edx
add eax, 0xffffffff
mov edi, ebx
adc edi, 0xffffffff
and edx, eax
and ebx, edi
mov eax, edx
or eax, ebx
jne 0x436200
or ecx, dword [ebp - 0x74]
je 0x43629f
movsx di, byte [ebp - 1]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
shl di, 7
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
bsf eax, dword [ebp - 0x4c]
jne 0x436276
bsf eax, dword [ebp - 0x48]
je 0x436276
add eax, 0x20
mov ebx, dword [esi + 0x1fc]
add eax, 0x2d
or eax, edi
mov word [esi + ebx*4], ax
inc dword [esi + 0x1fc]
mov eax, ecx
add eax, 0xffffffff
mov ebx, edx
adc ebx, 0xffffffff
and ecx, eax
and edx, ebx
mov eax, ecx
or eax, edx
jne 0x436261
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
or eax, dword [ebp - 0x18]
or ecx, dword [ebp - 0x14]
or eax, ecx
jne 0x436182
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x54]
cmp byte [edx + eax*8 + 0x13f], 0
je 0x4363f4
mov ecx, eax
inc eax
xor ecx, 1
mov edi, dword [ecx*8 + 0xd414c8]
mov ebx, dword [ecx*8 + 0xd414cc]
shl eax, 4
add eax, ecx
lea eax, [edx + eax*8]
mov edx, dword [ebp + ecx*8 - 0x40]
mov dword [ebp - 0x58], edx
mov edx, dword [ebp + ecx*8 - 0x3c]
mov dword [ebp - 0x54], edx
mov edx, dword [eax]
mov dword [ebp - 0x5c], eax
mov eax, dword [eax + 4]
shld eax, edx, 1
add edx, edx
not edi
and edi, edx
and edi, dword [ebp - 0x58]
not ebx
and ebx, eax
and ebx, dword [ebp - 0x54]
mov edx, edi
or edx, ebx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], ebx
je 0x43636f
lea esp, [esp]
bsf eax, dword [ebp - 0x30]
jne 0x43632f
bsf eax, dword [ebp - 0x2c]
je 0x43632f
add eax, 0x20
mov dword [ebp - 0x6c], eax
mov eax, edi
add eax, 0xffffffff
mov edx, ebx
adc edx, 0xffffffff
and edi, eax
mov al, byte [ecx + 0x46bd5c]
add al, byte [ebp - 0x6c]
and ebx, edx
cbw
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], ebx
lea edx, [eax - 1]
shl edx, 7
or edx, eax
mov eax, dword [esi + 0x1fc]
mov word [esi + eax*4], dx
inc dword [esi + 0x1fc]
mov edx, edi
or edx, ebx
jne 0x436320
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov edi, dword [ecx*8 + 0xd41548]
mov ebx, dword [ecx*8 + 0xd4154c]
shrd edx, eax, 1
not edi
and edi, edx
and edi, dword [ebp - 0x58]
not ebx
shr eax, 1
and ebx, eax
and ebx, dword [ebp - 0x54]
mov edx, edi
or edx, ebx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], ebx
je 0x4363f4
bsf eax, dword [ebp - 0x30]
jne 0x4363b4
bsf eax, dword [ebp - 0x2c]
je 0x4363b4
add eax, 0x20
mov dword [ebp - 0x6c], eax
mov eax, edi
add eax, 0xffffffff
mov edx, ebx
adc edx, 0xffffffff
and edi, eax
mov al, byte [ecx + 0x46bd5c]
add al, byte [ebp - 0x6c]
and ebx, edx
cbw
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], ebx
lea edx, [eax + 1]
shl edx, 7
or edx, eax
mov eax, dword [esi + 0x1fc]
mov word [esi + eax*4], dx
inc dword [esi + 0x1fc]
mov edx, edi
or edx, ebx
jne 0x4363a5
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
lea ebx, [ebp - 0xa0]
call fcn.00402b80
mov edx, dword [ebp - 0x44]
mov ecx, dword [eax]
mov ebx, dword [eax + 4]
mov edi, dword [eax + 8]
and ecx, dword [edx + 0x50]
and ebx, dword [edx + 0x54]
and edi, dword [edx + 0x58]
mov eax, dword [eax + 0xc]
and eax, dword [edx + 0x5c]
mov edx, ecx
or ecx, ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], eax
je 0x43647f
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], ebx
bsf eax, dword [ebp - 0x88]
jne 0x436452
bsf eax, dword [ebp - 0x84]
je 0x436452
add eax, 0x20
mov ecx, dword [esi + 0x1fc]
add eax, 0xffffffed
shl eax, 7
or eax, dword [ebp + 0xc]
mov word [esi + ecx*4], ax
inc dword [esi + 0x1fc]
mov eax, edx
add eax, 0xffffffff
mov ecx, ebx
adc ecx, 0xffffffff
and edx, eax
and ebx, ecx
mov eax, edx
or eax, ebx
jne 0x436431
mov eax, dword [ebp - 0x38]
or eax, dword [ebp - 0x34]
je 0x4364dd
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp + 0xc]
lea ecx, [ecx]
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x84], ecx
bsf eax, dword [ebp - 0x88]
jne 0x4364b1
bsf eax, dword [ebp - 0x84]
je 0x4364b1
add eax, 0x20
mov ebx, dword [esi + 0x1fc]
add eax, 0x2d
shl eax, 7
or eax, edx
mov word [esi + ebx*4], ax
inc dword [esi + 0x1fc]
mov eax, edi
add eax, 0xffffffff
mov ebx, ecx
adc ebx, 0xffffffff
and edi, eax
and ecx, ebx
mov eax, edi
or eax, ecx
jne 0x436490
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 8